官方下载地址
解压mysql
tar xvf mysql.tar.gz mysql/
./mysql -uroot -pxxxx -h127.0.0.1 -P3306 </home/mysql5.5/bin/all.sql
mkdir data
cd bin ./mysql_install_db --basedir=../ --datadir=../data
PS: 以上升级是在Cent OS上的,可是在中标麒麟我升级的时候,发现不认识上面的语句,须要替换成下面这个初始化语句sql
./mysqld --defaults-file=../my.cnf --basedir=../ --datadir=../data --user=root --initialize
在my.cnf 中的[mysqld]中添加skip-grant-tables
my.cnf 为数据库的配置文件数据库
./mysqld --defaults-file=../my.cnf --basedir=../ --datadir=../data --user=root
在新的命令行窗口登陆mysqlide
./mysql -uroot use mysql; update mysql.user set authentication_string=password('xxxx') where user='root';
注释掉配置文件中的skip-grant-tablesthis
./mysqld --defaults-file=../my.cnf --basedir=../ --datadir=../data --user=root
./mysql -uroot -pxxxx use mysql;
这个时候:无论运行任何命令,老是提示这个 You must reset your password using ALTER USER statement before executing this statement.
这时执行下面的语句命令行
SET PASSWORD = PASSWORD('xxxx');
use mysql; grant all privileges on *.* to "root"@"%" identified by "xxxx";
cd bin ./mysql -uroot -pxxxx -h127.0.0.1 -P3306 </home/mysql5.5/bin/all.sql
cd bin ./mysql_upgrade
set @@sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';