MySQL数据库的安装对于开发者来说,是必不可少的技能,安装过程并不复杂。
参考了一些技术帖子,实践总结一下经验,分享一下。
如有错误或遗漏,欢迎指正。
小提示:文章介绍的是未安装过MySQL的背景下,如已安装,请先卸载。
目录
1. 下载MySQL
2. 解压文件
3. 创建data目录
4. 更改mysql目录下的数据
5. 编译安装并初始化mysql
6. 编辑etc目录下的my.cnf配置文件
7. 创建mysql日志文件
8. 启动mysql服务器
9. 添加软连接,重启mysql服务
10. 登录mysql
11. 开放远程连接
12. 设置开机启动
13. 使用Navicat连接MySQL
执行wget命令下载或自行下载传输到服务器中,版本为mysql-5.7.24
[root@localhost /]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
[root@localhost /]# tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
解压完成后,根目录下多了一个解压文件,移动文件到/usr/local目录下,文件夹命名为mysql。
[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
[root@localhost /]# cd /usr/local/
[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
在/usr/local/mysql目录下创建data目录,用户存储数据库
[root@localhost /]# mkdir /usr/local/mysql/data
含所有的目录及文件夹所属的用户组、用户、权限
[root@localhost /]# chown -R mysql:mysql /usr/local/mysql
[root@localhost /]# chmod -R 755 /usr/local/mysql
!!!务必记住初始化输出日志末尾的密码(数据库管理员临时密码) !!!
[root@localhost /]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
以下为例:
末尾位置root@localhost:后的字符串为mysql管理员临时登录密码。
如不熟悉vi编辑指令,可使用ftp下载该文件,编辑再上传即可。
[root@localhost bin]# 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
如果没有这一步,启动时会抛出启动异常,因权限问题,错误如下
log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
是因为没有 /var/log/mariadb/mariadb.log 日志文件路径,我们创建并授权给mysql用户即可
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
[root@localhost /]# /usr/local/mysql/support-files/mysql.server start
如果看到此界面,说明启动成功
[root@localhost /]# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost /]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@localhost /]# service mysql restart
修改root账户密码(原密码为步骤5生成的临时密码)
输入密码是看不到的,输入完成回车即可。
[root@localhost /]# mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('123456');
其中123456为新密码
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
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
使用Navicat连接MySQL会失败,因为是两个操作系统,需要将权限MySQL的访问权限授予其他电脑
# 先登录
[root@localhost /]# mysql -u root -p
Enter password:
# 进行授权
mysql> mysql -uroot -proot
mysql> GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
# BY '123456' 为设置的密码
此时访问还差一步,需在阿里云服务器的安全组规则里面添加3306端口的入口规则
配置3306端口参数
使用Navicat新建MySQL测试连接
这一刻,心情真的好妙哈哈哈!!!
感谢两位技术大佬的帖子分享,喝水不忘挖井人。
https://www.jianshu.com/p/276d59cbc529
https://blog.csdn.net/shijiujiu33/article/details/83899294