重大公告:2023年阿里云双11服务器限时大降价(1核2G1年仅需49元+2核4G1年100元) 速度点击查看!!!

Linux(Centos7.6)下安装MySql详细教程

1,638次阅读
没有评论

Linux(Centos7.6)下安装MySql详细教程
这个数据库用的比较多,具体的就不唠叨了,直接上安装mysql的基础操作:

1、检查Linux是否安装了mariadb数据库,mariadb数据库是mysql的分支

执行命令:
yum list installed | grep mariadb 

2、如果Linux中安装了mariadb数据库,先卸载掉,因为CentOS 7.6 内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb

执行命令:
yum -y remove mariadb-libs.x86_64

3、开始安装mysql,首先从官网下载mysql软件压缩包,并上传到Linux的opt/mysoft 目录下

解压下载下来的mysql软件压缩包,执行命令:
tar -zxvf /opt/mysoft/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local

4、将解压后的mysql-5.7.24-linux-glibc2.12-x86_64改名为mysql-5.7.24 或者 mysql,这个看个人习惯了,非必要操作

执行命令:
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql-5.7.24

5、在mysql-5.7.24文件夹目录下创建一个/data/3306文件夹,这个也看个人习惯了,非必要操作

切换到mysql-5.7.24目录,执行命令:
mkdir -vp ./data/3306 (v表示创建新目录都显示信息,p表示递归创建)

6、添加mysql用户及用户组

执行命令:
groupadd mysql
useradd mysql -g mysql (-g: 是指定用户所在组)

7、切换到mysql-5.7.24/bin目录下执行:

./mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql-5.7.24/data/3306 --basedir=/usr/local/mysql-5.7.24
(--initialize-insecure标识不设置密码, root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.)

8、在mysql-5.7.24/bin目录下

执行命令:
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.24/data/3306 (表示安全连接访问,生成RSA私钥)

9、更改mysql-5.7.24整个文件夹目录权限所属

执行命令:
chown -R mysql:mysql /usr/local/mysql-5.7.24 (-R表示迭代递归)
chmod:文件/目录权限设置命令

10、在mysql-5.7.24/data/3306 目录下创建my.cnf文件

使用命令:vim my.cnf
[client]
port = 3306
socket = /usr/local/mysql-5.7.24/data/3306/mysql.sock
default-character-set=utf8

[mysqld]
port = 3306
socket = /usr/local/mysql-5.7.24/data/3306/mysql.sock
datadir = /usr/local/mysql-5.7.24/data/3306
log-error = /usr/local/mysql-5.7.24/data/3306/error.log
pid-file = /usr/local/mysql-5.7.24/data/3306/mysql.pid

character-set-server =utf8
#是否忽略大小写,unix下lower_case_table_names默认值为 0 .Windows下默认值是 1(名称比较对大小写不敏感) .Mac OS X下默认值是 2 .
lower_case_table_names = 1
#是否自动提交 0表示不自动提交 1表示自动提交,mysql事务支持的引擎是InnoDB,默认情况下autocommit的值为1
autocommit = 1

至此MySQL安装完成;

11、启动MySQL服务

在mysql-5.7.24/bin目录下执行命令:
./mysqld_safe --defaults-file=/usr/local/mysql-5.7.24/data/3306/my.cnf & (其中 & 符号表示后台启动)

12、修改密码

登录进入mysql,在mysql-5.7.24/bin目录下执行命令:
./mysql -uroot -p -P3306 -h127.0.0.1
修改mysql的密码,执行:
alter user 'root'@'localhost' identified by '123456';

13、授权远程访问

a、登录之后,执行命令:(这样远程客户端才能访问)
grant all privileges on *.* to root@'%' identified by '123456';
其中*.* 的第一个*表示所有数据库名,第二个*表示所有的数据库表;
root@'%' 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,root@192.168.10.888

b、如果还不能远程访问,执行以下如下命令刷新权限:
flush privileges; 

c、如果上面授权远程访问执行之后依然远程连接不上mysql,可能是Linux上防火墙拦截了

d、防火墙开放端口命令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:
--zone #作用域:查看当前的区域:firewall-cmd --get-default-zone
--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

重新加载防火墙配置:firewall-cmd --reload

重启防火墙:systemctl restart firewalld

取消端口开放:
firewall-cmd --zone=public --remove-port=3306/tcp --permanent

查询端口号8080 是否开启:
firewall-cmd --query-port=8080/tcp

查询有哪些端口是开启的:
firewall-cmd --list-port

14、关闭MySQL服务

进入mysql-5.7.24/bin目录下执行命令:
./mysqladmin -uroot -p -P3306 -h127.0.0.1 shutdown

15、其他命令

mysql 5.5、mysql 5.6、mysql 5.7:默认的最大连接数都是151个,上限为:100000 个;
mysql5.0版本:默认的最大连接数为100,上限为16384;

查看mysql的最大连接数:
show variables like '%max_connections%';

查看当前连接数:
show global status like 'max_used_connections';

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步! 如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

给自己的梦想添加一双翅膀,让它可以在天空中自由自在的飞翔!

arison
版权声明:本站原创文章,由arison2021-01-11发表,共计4555字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)