阿里云Linux系统中MySQL的安装与配置

下载、解压MySQL

本次安装配置使用mysql-5.7.30版本,运行环境为阿里云。提取码:47vr
将下载的mysql压缩安装文件上传到文件夹/usr/local/,解压缩至当前文件夹,如下:

[root@huzy local]# tar zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 

修改解压后文件夹的名称为:mysql,这个名称个人爱好自定义的,因为解压出来的太复杂太长,不方便操作

[root@huzy mysql]# mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql

创建数据仓库

创建MySQL数据仓库文件路径

[root@huzy mysql]# mkdir /data/mysql

创建用户组和用户

创建一个mysql用户组

[root@huzy mysql]# groupadd mysql

在mysql用户组下面创建一个mysql用户

[root@huzy mysql]# useradd -r -g mysql mysql

添加mysql用户的数据仓库操作权限

[root@huzy mysql]# chown mysql:mysql -R /data/mysql

修改数据库配置

切换到根目录下的/etc目录,打开my.cnf文件,按i进入编辑模式

[root@huzy etc]# vim my.cnf

内容如下:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

添加bind-address、port和user,并修改安装目录、数据目录和相应的日志目录,如下:

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.log
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

初始化MySQL数据库

修改完成保存并退出,然后切换到mysql的安装目录的bin目录,初始化数据库(如果初始化错误,文后有解决方法)

[root@huzy /]# cd usr/local/mysql/mysql/bin
[root@huzy bin]# pwd
/usr/local/mysql/mysql/bin
[root@huzy bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

初始化运行完成后,会有一行这样的内容:

2020-09-09T06:20:31.051435Z 1 [Note] A temporary password is generated for root@localhost: .>952/Xw7/,0

对,你没看错,这就是自动生成的root用户密码:.>952/Xw7/,0,记住它,以后会用到

设置MySQL数据库开机启动

把mysql.server复制到/etc/init.d的目录中并更名为mysqld,如下:

[root@huzy bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

设置mysqld文件的执行权限

[root@huzy bin]# chmod +x /etc/init.d/mysqld

将mysqld添加到服务配置中

[root@huzy bin]# chkconfig --add mysqld

查看mysqld的服务状态,也有可能是英文

[root@huzy ~]# chkconfig --list
mysql           0:1:2:3:4:5:6:

这里mysql已经默认开机启动啦,如果245的状态是关或者off,则要打开它,如下:

[root@huzy ~]# chkconfig --level 345 mysqld on

最后,重启一下服务器既可。

数据库的启停操作

试着启动MySQL啦!包括其他重启、关闭命令

[root@huzy /]# service mysql start
Starting MySQL.                                            [  OK  ]
[root@huzy /]# service mysql stop
Shutting down MySQL..                                      [  OK  ]
[root@huzy /]# service mysql start
Starting MySQL.                                            [  OK  ]
[root@huzy /]# service mysql restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL.                                            [  OK  ]

这样MySQL安装就已经成功了!

修改默认root账户密码

什么?root密码太复杂,人家系统生成的也是为了安全,但是自己用想改的简单一点,OK,盘它!
切换到mysq安装路径的bin目录,执行命令:

[root@huzy bin]# ./mysql -u root -p
Enter password: 

这时候,数据库初始化是系统生成的密码就用到了,输入回车,成功进入mysql
注:这里的密码输入是看不到的,光标不移动,尽管输入即可

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

依次执行,mysql>后面的命令,如下:******代表要设置的新密码内容

mysql> SET PASSWORD = PASSWORD('******');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> 

设置数据库远程连接

密码已经修改成功,但是这时候还是不能远程登录的,因为默认的只能localhost本机登录,我们还要修改一下root账号下的IP限制,如下:
先切换到mysql数据库,再修改root账户host值

mysql> use mysql 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set host = '%' where user = 'root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> FLUSH PRIVILEGES; 
Query OK, 0 rows affected (0.00 sec)

mysql> 

这样,就可以远程的连接操作数据库,开始愉快的玩耍啦!
但是可能还有老铁依然连接不上,这时候要检查一下端口开放情况,先确定端口是否修改过,没有修改过默认就是:3306
查看端口是否开放:no-未开放;yes-已开放

[root@huzy bin]# firewall-cmd --query-port=3306/tcp
no

添加并开放指定3306端口:

[root@huzy bin]# firewall-cmd --add-port=3306/tcp --permanent
success

重新载入添加端口:

[root@huzy bin]# firewall-cmd --reload
success

再次查询3306端口状态:

[root@huzy bin]# firewall-cmd --query-port=3306/tcp
yes

OK,已开放,不出意外就可连接啦!

数据库初始化错误处理

数据库初始化错误处理
执行初始化后出现以下错误:

[root@huzy bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/software/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize 
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

出现错误别着急,盘它,检查链接库文件是否已经安装使用:

[root@huzy bin]# rpm -qa|grep libaio
[root@huzy bin]#

经过检查无任何提示,那我们就自己动手安装

[root@huzy bin]# yum install  libaio-devel.x86_64

安装完成后,再运行数据库初始化命令,OK!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值