CentOS 通過yum在線安裝MySQL5.7
Step1: 檢測系統是否自帶安裝mysql
# yum list installed | grep mysql
Step2: 刪除系統自帶的mysql及其依賴
命令:
# yum -y remove mysql-libs.x86_64
Step3: 給CentOS添加rpm源,並且選擇較新的源
命令:
# wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm # yum localinstall mysql-community-release-el6-5.noarch.rpm # yum repolist all | grep mysql # yum-config-manager --disable mysql55-community # yum-config-manager --disable mysql56-community # yum-config-manager --enable mysql57-community-dmr # yum repolist enabled | grep mysql
Step4:安裝mysql 服務器
命令:
# yum install mysql-community-server
Step5: 啟動mysql
命令:
# service mysqld start
Step6: 查看mysql是否自啟動,並且設置開啟自啟動
命令:
# chkconfig --list | grep mysqld # chkconfig mysqld on
查看root密碼:
1 # grep "password" /var/log/mysqld.log 2 2016-08-10T15:03:02.210317Z 1 [Note] A temporary password is generated for root@localhost: AYB(&-3Cz-rW
現在必須立刻修改密碼,不然會報錯:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
修改密碼(如果在此步報錯ERROR 1819,請向下翻查看原因及解決方法):
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
6.查看mysqld是否開機自啟動,並設置為開機自啟動:
1 chkconfig --list | grep mysqld 2 chkconfig mysqld on
7.修改字符集為UTF-8:
vim /etc/my.cnf
在[mysqld]部分添加:
character-set-server=utf8
在文件末尾新增[client]段,並在[client]段添加:
default-character-set=utf8
修改好之后重啟mysqld服務:
service mysqld restart
查看修改結果:
mysql> show variables like "%character%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)
注:在修改密碼步驟,若設置的密碼為簡單密碼,可能會出現如下錯誤:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
這一錯誤其實與validate_password_policy值的設置有關:
validate_password_policy值默認為1,即MEDIUM,所以剛開始設置的密碼必須符合長度要求,且必須含有數字,小寫或大寫字母,特殊字符
如果我們只是做為測試用而不需要如此復雜的密碼,可使用如下方式修改validate_password_policy值
mysql> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec)
這樣,對密碼要求就只有長度了,而密碼的最小長度由validate_password_length值決定
validate_password_length參數默認為8,它有最小值的限制,最小值為:
validate_password_number_count+ validate_password_special_char_count+ (2 * validate_password_mixed_case_count)
其中,validate_password_number_count指定了密碼中數字的長度,validate_password_special_char_count指定了密碼中特殊字符的長度,validate_password_mixed_case_count指定了密碼中大小字母的長度。這些參數的默認值均為1,所以validate_password_length最小值為4,如果顯性指定validate_password_length的值小於4,盡管不會報錯,但validate_password_length的值將設為4
設置validate_password_length的值:
mysql> set global validate_password_length=4; Query OK, 0 rows affected (0.00 sec)
如果修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一個值,則validate_password_length將進行動態修改。