一、安装
1.下载MySQL
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar
- 解压 tar -xvf xxx.tar
mkdir mysql && cd mysql
tar -xvf mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar
3.创建MySQL用户组及用户
groupadd mysql
useradd -r -g mysql mysql
4.修改当前目录拥有者为mysql用户
chown -R mysql:mysql ./
5.删除原有MySQL
#查看已安装的软件包
yum list installed mysql*
或 rpm -qa | grep mysql*
#删除所有已安装的相关软件
yum remove mysql.x86_64 mysql-devel.x86_64 mysql-libs.x86_64 mysql-server.x86_64
或
rpm -e mysql.x86_64 mysql-devel.x86_64
rpm -e --allmatches packagename
rpm -ev --nodeps --force mysql-community-server-5.7.20-1.el6.x86_64.rpm
(CentOS Linux release 7 默认安装mariadb 安装mysql 需要删除
rpm -qa |grep -i mariadb-libs
rpm -e mariadb-libs-5.5.65-1.el7.x86_64
rpm -ev mariadb-libs-5.5.65-1.el7.x86_64
rpm -ev --nodeps mariadb-libs-5.5.65-1.el7.x86_64)
6.依次安装MySQL
rpm -ivh mysql-community-common-5.7.20-1.el6.x86_64.rpm --nosignature
rpm -ivh mysql-community-libs-5.7.20-1.el6.x86_64.rpm --nosignature
rpm -ivh mysql-community-client-5.7.20-1.el6.x86_64.rpm --nosignature
rpm -ivh mysql-community-server-5.7.20-1.el6.x86_64.rpm --nosignature
启动mysql服务 service mysqld start
或s systemctl start mysqld.service
二、密码配置
新版本的Mysql会为root用户创建一个初始密码,需要更改。
查看默认密码
grep 'temporary password' /var/log/mysqld.log
使用该初始密码登陆mysql
mysql -uroot -peejVY2MLgS+e
修改密码
mysql> set password for 'root'@'localhost' = password('root123');
set password=password('密码'); alter user 'root'@'localhost' password expire never;
flush privileges;
exit;
修正密码强度校验规则(用于测试环境使用),高版本的mysql在修改密码时会限制简单密码的创建,如果单单是为了测试使用,可以将 密码检测策略修改下:
修改:密码最小长度策略
mysql> set global validate_password_length=0;
修改:密码强度检查等级策略,0/LOW、1/MEDIUM、2/STRONG
mysql> set global validate_password_policy=0;
mysql5.7.32 没有安全模式?
#安全模式启动MySQL
mysqld_safe --skip-grant-tables &
#登陆MySQL,此时密码随意
mysql -u root -p
#更改密码
update mysql.user set authentication_string=password('root') where user='root';
#刷新权限
flush privileges;
#退出MySQL
exit;
#重启MySQL
service mysqld restart
#登陆MySQL,创建用户并授权
create database test
create user git@localhost identified by 'git';
grant all privileges on test.* to git@localhost;
create database mysql
create user mysql@localhost identified by 'Mysql$1234';
grant all privileges on mysql.* to mysql@localhost;
create database mytest
grant select,create,drop,update,alter on mytest.* TO 'mytest'@'%' identified by 'Mysql$1234' WITH GRANT OPTION; #mytest'@'% 远程连接
三、其他配置
开启mysql的root用户远程连接服务(%号即远程连接,IDENTIFIED BY后面跟的密码)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123' WITH GRANT OPTION;
刷新
mysql> flush privileges;
开启mysql端口服务
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
service network restart
四、问题
mysql -uroot -p
root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
1、可能是这是/var/lib/mysql权限问题,修改MySQL权限为当前用户
sudo chown -R xxx:xxx /var/lib/mysql
xxx为当前的用户名以及所属组
重启MySQL服务
- MySQL服务 没启动
service mysqld start
或 /bin/systemctl start mysqld.service
- 查看配置文件 是否正常
vi /etc/my.cnf