在centos7上安装mysql:
1 卸载mariadb-lib。
默认centos7上含有mariadb的lib包。卸载它。
1[root@USp11 rpm]# rpm -e --nodeps mariadb-libs-5.5.50-1.el7_2.x86_64 2[root@USp11 rpm]#
2 安装mysql各个包。
包括了common-lib/libs/client/server。
1[root@USp11 rpm]# rpm -ivh mysql-community-libs-5.7.14-1.el7.x86_64.rpm 2warning: mysql-community-libs-5.7.14-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY 3Preparing... ################################# [100%] 4Updating / installing... 5 1:mysql-community-libs-5.7.14-1.el7################################# [100%] 6[root@USp11 rpm]# 7[root@USp11 rpm]# rpm -ivh mysql-community-client-5.7.14-1.el7.x86_64.rpm 8warning: mysql-community-client-5.7.14-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY 9Preparing... ################################# [100%] 10Updating / installing... 11 1:mysql-community-client-5.7.14-1.e################################# [100%] 12[root@USp11 rpm]# 13[root@USp11 rpm]# 14[root@USp11 rpm]# rpm -ivh mysql-community-server-5.7.14-1.el7.x86_64.rpm 15warning: mysql-community-server-5.7.14-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY 16Preparing... ################################# [100%] 17Updating / installing... 18 1:mysql-community-server-5.7.14-1.e################################# [100%] 19[root@USp11 rpm]#
3 mysql密码的问题。
安装后会有登录问题。
1[root@USp11 rpm]# mysql 2ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 3[root@USp11 rpm]#
其实安装后会生成随机密码并保存在日志中:
1[root@USp11 log]# grep -i password /var/log/mysqld.log 22017-05-03T09:43:49.793937Z 1 [Note] A temporary password is generated for root@localhost: 2:reu9r3=8vI
如果不知道密码也有解决方法:
在/etc/my.cnf末尾 加入skip-grant-tables,保存,跳过身份验证。
重启mysql:systemctl restart mysqld。
进入mysql终端修改密码。(use mysql)
1mysql> select host,user,authentication_string from user; 2+-----------+-----------+-------------------------------------------+ 3| host | user | authentication_string | 4+-----------+-----------+-------------------------------------------+ 5| localhost | root | *4F9B070523AE6DF88F122FDB8A122B9C1BCEEA0F | 6| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | 7+-----------+-----------+-------------------------------------------+ 82 rows in set (0.01 sec) 9 10mysql> update user set authentication_string=password('123456') where user='root'; 11Query OK, 1 row affected, 1 warning (0.00 sec) 12Rows matched: 1 Changed: 1 Warnings: 1 13 14mysql>
在/etc/my.cnf末尾 去掉skip-grant-tables,保存。
重启mysql。
进入后会被要求修改密码。
1mysql> status 2ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 3mysql>
修改密码:
1mysql> set password = password('123456'); 2ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 3mysql> 4 5mysql> set password=password('不告诉你'); 6Query OK, 0 rows affected, 1 warning (0.00 sec) 7 8mysql>
4 mysql字符问题。
查看字符:
1mysql> status 2-------------- 3mysql Ver 14.14 Distrib 5.7.14, for Linux (x86_64) using EditLine wrapper 4 5Connection id: 2 6Current database: mysql 7Current user: root@ 8SSL: Not in use 9Current pager: stdout 10Using outfile: '' 11Using delimiter: ; 12Server version: 5.7.14 MySQL Community Server (GPL) 13Protocol version: 10 14Connection: Localhost via UNIX socket 15Server characterset: latin1 16Db characterset: latin1 17Client characterset: utf8 18Conn. characterset: utf8 19UNIX socket: /var/lib/mysql/mysql.sock 20Uptime: 14 sec 21 22Threads: 1 Questions: 40 Slow queries: 0 Opens: 127 Flush tables: 1 Open tables: 122 Queries per second avg: 2.857 23-------------- 24 25 26 27mysql> show variables like '%char%'; 28+--------------------------------------+----------------------------+ 29| Variable_name | Value | 30+--------------------------------------+----------------------------+ 31| character_set_client | utf8 | 32| character_set_connection | utf8 | 33| character_set_database | utf8 | 34| character_set_filesystem | binary | 35| character_set_results | utf8 | 36| character_set_server | utf8 | 37| character_set_system | utf8 | 38| character_sets_dir | /usr/share/mysql/charsets/ | 39| validate_password_special_char_count | 1 | 40+--------------------------------------+----------------------------+ 419 rows in set (0.00 sec) 42 43mysql>
设置,在/etc/my.cnf中[mysqld]下设置参数:
1[mysqld] 2character_set_server = utf8
在/etc/my.cnf中的[client]下设置参数:
1[client] 2default-character-set = utf8