安装环境
主机是购买的阿里云的云服务器系统是云服务器自带的CentOS 8.2 64位
mysql
mysql是mysql-8.0.22版本,可以去https://dev.mysql.com/downloads/mysql/下载对应的版本
安装
1.在安装前需要确保没有安装过mysql,如果安装过请彻底删除对应的文件,具体方法可以自行百度
2.检查mysql用户组和用户是否存在
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
3.如果用户组和用户不存在,则需要先创建,如果存在跳过该步骤
groupadd mysql
useradd -r -g mysql mysql
4.将下载的mysql压缩包上传到服务器上或者在在服务器上直接下载
5.解压
tar xvf mysql-8.0.22-linux-glibc2.17-x86_64-minimal.tar
6.解压后有三个压缩包,我们使用mysql-8.0.22-linux-glibc2.17-x86_64-minimal.tar.xz,对其进行解压
tar xzvf mysql-8.0.22-linux-glibc2.17-x86_64-minimal.tar.xz
7.解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/下,并将文件夹名称修改为mysql。
mv mysql-8.0.22-linux-glibc2.17-x86_64-minimal /usr/local/mysql
8.在uer/local/mysql下面创建data目录
mkdir /usr/local/mysql/data
9.更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
10.进入bin目录
cd /usr/local/mysql/bin
11.编译安装并初始化mysql,如果成功需要记住日志末尾的密码(数据库管理员临时密码,格式是localhost:临时密码)
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
12.编辑配置文件my.cnf,添加配置
vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
character_set_server=utf8
basedir
:数据库地址
datadir
:数据库data地址
port
:端口号,使用默认的3306
symbolic-links
:数据库或表是否可以存储在my.cnf中指定datadir之外的分区或目录 0:否 1:是
max_connections
:最大连接数
character_set_server
:设置数据库默认字符集,如果不设置默认为latin1
innodb_file_per_table
:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别;
13.启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
出现下面的信息代表成功启动
14.添加软连接,并重启
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
15.登录数据库,登录命令如下,需要输入前面保存的密码:
mysql -u root -p
16.登录后执行下面的命令修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘newPwd’;
17.修改root的远程登录权限
--将root用户设置为所有地址可登录,原来是localhost表示只用本机可登录
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
--刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
--将用户root密码设置为永不过期
mysql> alter user 'root'@'%' identified by 'newPwd' password expire never;
Query OK, 0 rows affected (0.01 sec)
--将root用户密码加密方式改为mysql_native_password ,上面查到root用户密码的加密方式为caching_sha2_password
mysql> alter user 'root'@'%' identified with mysql_native_password by 'newPwd';
Query OK, 0 rows affected (0.00 sec)
--刷新权限,在别的机器上即可登录
mysql> flush privileges;
18.设置开机自动启动
1、将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
3、添加服务
[root@localhost /]# chkconfig --add mysqld
4、显示服务列表
[root@localhost /]# chkconfig --list
备注:在使用阿里云服务器时除了在服务器上要开启远程连接还需要在阿里云的控制台中修改安全组,添加一个端口