CentOS 经过yum在线安装MySQL5.7mysql
Step1: 检测系统是否自带安装mysqllinux
# yum list installed | grep mysql
Step2: 删除系统自带的mysql及其依赖
命令:sql
# yum -y remove mysql-libs.x86_64
Step3: 给CentOS添加rpm源,而且选择较新的源
命令:vim
# 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是否自启动,而且设置开启自启动
命令:ui
# chkconfig --list | grep mysqld # chkconfig mysqld on
查看root密码:this
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
如今必须马上修改密码,否则会报错:spa
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
修改密码(若是在此步报错ERROR 1819,请向下翻查看缘由及解决方法):rest
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将进行动态修改。