MySQL系列之数据库安装
原创
©著作权归作者所有:来自51CTO博客作者Lucky麒麟的原创作品,请联系作者获取转载授权,否则将追究法律责任
一. 下载文件
这个是编译好的MySQL文件,我们只需要简单配置就可以!
![在这里插入图片描述 MySQL系列之数据库安装_自定义配置](https://s2.51cto.com/images/blog/202212/19134505_639ffa618b34d75923.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
这里通过wget下载:
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.26-el7-x86_64.tar.gz
# 解压后重命名
mv mysql-8.0.26-el7-x86_64 mysql
二. 解压和依赖安装
先安装一些必要的依赖:
sudo apt-get install libncurses5 # 客户端需要
解压后就和我们自己编译的一样了:
![在这里插入图片描述 MySQL系列之数据库安装_远程连接_02](https://s2.51cto.com/images/blog/202212/19134506_639ffa623221054595.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
三. 配置初始化
我们这里就使用当前用户安装就可以,不用麻烦在创建用户了!
在mysql解压后的文件夹下,先执行初始化:
./bin/mysqld --initialize --user=kirin --basedir=/home/kirin/install_home/mysql --datadir=/home/kirin/install_home/mysql/data
初始化之后生成一个默认的账号:root和随机密码,记一下后面需要:
![在这里插入图片描述 MySQL系列之数据库安装_自定义配置_03](https://s2.51cto.com/images/blog/202212/19134506_639ffa62bdb1f41403.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
增加配置文件:my.cnf
,这里需要注意一下,服务端(mysqld
)和客户端(client
)下面配置的socket
需要一致
[mysqld]
user=kirin
port=3366
basedir=/home/kirin/install_home/mysql
datadir=/home/kirin/install_home/mysql/data
pid-file=/home/kirin/install_home/mysql/data/mysqld.pid
socket=/home/kirin/install_home/mysql/mysqld.sock
log-error=/home/kirin/install_home/mysql/mysqld.log
character-set-server=utf8mb4
bind-address=0.0.0.0
[mysql]
default-character-set=utf8mb4
[client]
socket=/home/kirin/install_home/mysql/mysqld.sock
四. 服务端启动
这里我们需要先修改一个启动脚本:support-files/mysql.server
# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.
basedir=/home/kirin/install_home/mysql
datadir=/home/kirin/install_home/mysql/data
# Default value, in seconds, afterwhich the script should timeout waiting
启动服务:mysql.server start
![在这里插入图片描述 MySQL系列之数据库安装_自定义配置_04](https://s2.51cto.com/images/blog/202212/19134507_639ffa6342e8c47484.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
查看mysql启动状态:
ps -ef | grep mysqld
./mysql.server status
五. 客户端连接
在bin
目录下的mysql
文件就是客户端
![在这里插入图片描述 MySQL系列之数据库安装_linux_05](https://s2.51cto.com/images/blog/202212/19134507_639ffa63c36b333803.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
连接mysql服务器:./mysql -u root -p e(epKu1t#jUa
,但是会报错!
![在这里插入图片描述 MySQL系列之数据库安装_linux_06](https://s2.51cto.com/images/blog/202212/19134508_639ffa644cbdc84913.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
这个问题很好解决,连接的时候指定socket的路径就可以了:
![在这里插入图片描述 MySQL系列之数据库安装_修改密码_07](https://s2.51cto.com/images/blog/202212/19134508_639ffa64c3ee425827.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
六. 修改密码
我们第一次进入之后需要先修改密码:
![在这里插入图片描述 MySQL系列之数据库安装_修改密码_08](https://s2.51cto.com/images/blog/202212/19134509_639ffa655d9f644272.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
设置密码:
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
退出重新登陆(测试一下)
七. 设置远程连接
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)