zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Linux 服务器安装Mysql 5.7版本

2023-09-11 14:16:58 时间
  1. 下载Mysql压缩包

    通过官网下载地址:https://dev.mysql.com/downloads/mysql/

    通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

  2. 解压压缩包

# 解压到 /usr/local 文件下
cd /usr/local
tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

# 将解压后的文件夹修改名字,文件夹名字改为mysql
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
  1. 添加用户组和用户
# 添加用户组
groupadd mysql
# 添加用户mysql 到用户组mysql
useradd -g mysql mysql
  1. 开始安装
# 新建data文件夹(某版本后就没有data文件夹)
mkdir /usr/local/mysql/data

# 授权目录和用户
cd /usr/local/
chown -R mysql:mysql mysql/
chmod -R 755 mysql/

# 初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

# 复制启动脚本到资源目录
cd /usr/local/mysql/
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

# 增加mysqld服务控制脚本执行权限
chmod +x /etc/rc.d/init.d/mysqld

# 将mysqld服务加入到系统服务
chkconfig --add mysqld
  1. 启动mysql
service mysqld start

可能会遇到/var/log/mariadb/mariadb.log路径不存在问题,如下图所示:
在这里插入图片描述
解决方法如下:

# 新建文件和文件夹
mkdir /var/log/mariadb 
touch /var/log/mariadb/mariadb.log

# mysql用户授权
chown -R mysql:mysql  /var/log/mariadb/

可能会遇到如下问题:
在这里插入图片描述
解决方法:
请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

  1. 登录mysql
mysql -uroot -p

找不到mysql命令需执行如下命令:

ln -s /usr/local/mysql/bin/mysql /usr/bin

失败信息:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

 ln -s /var/lib/mysqld/mysql.sock /tmp/mysql.sock
 
 # my.cnf文件
 socket = /tmp/mysql.sock  #添加该行
  1. 跳过Mysql的密码认证

执行 mysql -uroot -p ,输入上面的到的密码进入,用该密码登录后,必须马上修改新的密码,不然会报如下错误:

mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

如果你想要设置一个简单的测试密码的话,比如设置为123456,会提示这个错误,报错的意思就是你的密码不符合要求

mysql> alter user 'root'@'localhost' identified by 'ceshi123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  1. 开放3306端口
iptables -A OUTPUT -p tcp --dport 3306 -j DROP
  1. 测试连接

若提示1045 - Access denied for user ‘root’@‘192.168.1.11’ (using password:YES),原因是因为未授权,第一次启动是这样的,解决如下:

mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';