安装
获取mysql 资源库
安装前准备
检查是否已经安装过mysql
rpm -qa | grep mysql
卸载(–nodeps 强制卸载)
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
查询所有Mysql对应的文件夹并清除
whereis mysql
find / -name mysql
检查mysql用户组和用户是否存在,如果没有,则创建
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql$useradd -r -g mysql mysql
安装mysql
下载tar包 解压 (gz包不要加Z)
tar -xvf
移动并创建文件夹mysql
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data
更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
配置my.cnf
vim /etc/my.cnf
[mysqld]
#不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
pid-file=/usr/local/mysql/data/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
取消密码验证(需要重启mysql service mysql restart,目前会导致无法远程连接)
#skip-grant-tables
#编译安装并初始化mysql(/usr/local/mysql 目录下)
bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
添加软连接,并重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
使用
#登录(临时密码在data/mysql.err)
mysql -u root -p
修改密码 为admin
SET PASSWORD = ‘admin’;
开放远程连接
mysql>use mysql;
msyql>update user set user.Host=’%’ where user.User=‘root’;
刷新
mysql>flush privileges;
设置开机自动启动
1、将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost /]#
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
3、添加服务
[root@localhost /]# chkconfig --add mysqld
4、显示服务列表
[root@localhost /]# chkconfig --list
常见问题
远程连接不上
检查网络是否能ping通 防火墙是否关闭
检查MySQL配置my.cnf
0.0.0.0,表示监听所有客户端连接 端口是否3306,是否启用 netstat -apn|grep 3306
检查用户访问权限 select host,user from user;
MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost,那么这个用户就只能本机访问,其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问(见开放远程连接)。
报caching_sha2_password错误,修改加密规则
#修改加密规则
ALTER USER ‘root’@’%’ IDENTIFIED BY ‘admin’ PASSWORD EXPIRE NEVER;
#更新用户的密码
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘admin’;
#刷新权限
FLUSH PRIVILEGES;
#重置密码
ALTER USER ‘root’@’%’ IDENTIFIED BY ‘admin’;