1.判断自己的Linux上以前是否安装过
rpm -qa | grep mysql
如果入下图`什么都没有可以进入第二部
如果如下图有查询到东西,那就要先删除赶紧之前安装的东西
2.下载Mysql
此处用的是5.7.24的mysql
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
输入后回车等待下载,当然这是需要联网的
3.解压下载的压缩包
在刚刚下载的目录下执行观察是否有该压缩包,如果有则进行解压
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
执行效果如下
4.移动解压的文件
解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/下,并将文件夹名称修改为mysql
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
cd /usr/local/
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
5.创建数据库data目录
mkdir /usr/local/mysql/data
6.更改mysql的所属权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
7.编译安装并初始化Mysql
执行以下命令后必记住初始化输出日志末尾的密码,这个数据库管理员临时密码
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
效果如下,黄色部分务必要记住
下面为可能会遇到的问题,如果没有遇到跳过即可
这一步会经常遇到一个问题就是`./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
`,如下图所示
这个问题出现的原因在这里不做解释,直接说解决的方法:
- 检查该链接库文件有没有安装使用
rpm -qa|grep libaio
- 发现系统中是否有该链接库文件,无则下载
yum install libaio-devel.x86_64
- 它会有一个提示
is this ok [y/d/n]
,输入y回车即可
y下载安装
d只下载不安装
n不安装
然后再运行时可能会遇到这个问题 Fatal error: Can't change to run as user 'mysql' ; Please check that the user exists!
老规矩,不做解释,直接解决方法:
- 创建mysql用户
useradd mysql
- mysql目录改为mysql独写权限
chown -R mysql:mysql /usr/local/mysql
效果如下
然后在把第7步重做一遍即可
8.编辑配置文件my.cnf
再当前mysql的bin目录下进行编辑
tips:
- 进入后修改可以按下
a
或者i
就可以修改 - 修改完后按下键盘最左上角的
Esc
后可以退出编辑 - 输入
:qw
即可保存退出
vi /etc/my.cnf
将里面的内容编辑为
[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感度为
lower_case_table_names=1
编辑后的文本如下
9.启动Mysql服务器
/usr/local/mysql/support-files/mysql.server start
这一步可能遇到这个问题`Starting MySQL.2020-04-09T04:12:50.250915Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
The server quit without updating PID file (/usr/local/mysql[失败]iZwz93nwyvib4zh67kl1fzZ.pid).或者类似于
Starting MySQL... ERROR! The server quit without updating PID file`
老规矩,解决方法如下:
- 查询服务是否已经存在
ps -ef|grep mysql
ps -ef|grep mysqld
pid就是第二列的数字
- 杀死进程
kill -9 查询到的Pid
10.添加软连接,并重启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
11.登录mysql,修改密码
mysql -u root -p
输入第7步得到的密码
set password for root@localhost = password('新的密码');
12.允许远程连接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;