MySQL 该版本下载地址:

https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

image-20210716111126345

mysql_install-v1.0.sh脚本如下:

  1. #!/bin/bash
  2. # MySQL 安装日志信息
  3. log=/var/log/mysql_install.log
  4. # MySQL压缩包路径
  5. MySQLPath=/root/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
  6. # sql 文件
  7. sqlfile=/root/test.sql
  8. # 卸载系统⾃带的MARIADB
  9. rpm -qa|grep mariadb |xargs yum remove -y > /dev/null
  10. # 解压MYSQL安装包
  11. echo \'====================================\'
  12. echo \'Unzip....\'
  13. tar -zxf $MySQLPath -C /usr/local/
  14. mv /usr/local/mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql
  15. if [ $? -ne 0 ];then
  16. echo \'MySQL unzip failed!!!\'
  17. exit
  18. else
  19. echo \'====================================\'
  20. echo \'Unpack the success!\'
  21. fi
  22. # 创建MYSQL⽤户和⽤户组
  23. groupadd mysql
  24. useradd -g mysql mysql
  25. mkdir /usr/local/mysql/data
  26. chown -R mysql:mysql /usr/local/mysql
  27. echo \'====================================\'
  28. echo \'User created successfully!\'
  29. # MYSQL的配置⽂件
  30. cat > /etc/my.cnf << EOF
  31. [mysql]
  32. default-character-set=utf8
  33. socket=/var/lib/mysql/mysql.sock
  34. [mysqld]
  35. skip-name-resolve
  36. port = 3306
  37. socket=/var/lib/mysql/mysql.sock
  38. basedir=/usr/local/mysql
  39. datadir=/usr/local/mysql/data
  40. max_connections=200
  41. character-set-server=utf8
  42. default-storage-engine=INNODB
  43. lower_case_table_names=1
  44. max_allowed_packet=16M
  45. EOF
  46. if [ $? -ne 0 ];then
  47. echo \'Failed to write the my.cnf configuration file!!!\'
  48. exit
  49. else
  50. echo \'====================================\'
  51. echo \'my.cnf configuration success!\'
  52. echo \'====================================\'
  53. fi
  54. # 创建 /var/lib/mysql ⽬录,并修改权限
  55. mkdir /var/lib/mysql
  56. chmod 777 /var/lib/mysql
  57. # 开始安装 MYSQL
  58. cd /usr/local/mysql
  59. ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 2>&1 | tee $log
  60. # 获取 root 初始密码
  61. InitialPassword=`tail -1 $log |awk \'{print $NF}\'`
  62. # 复制启动脚本到资源⽬录,并修改 basedir 和 datadir 为对应⽬录
  63. cp ./support-files/mysql.server /etc/init.d/mysqld
  64. sed -i \'46s/basedir=/basedir=\/usr\/local\/mysql/g\' /etc/init.d/mysqld
  65. sed -i \'47s/datadir=/datadir=\/usr\/local\/mysql\/data/g\' /etc/init.d/mysqld
  66. if [ $? -ne 0 ];then
  67. echo \'Failed to replace /etc/init.d/mysqld!!!\'
  68. exit
  69. else
  70. echo \'====================================\'
  71. echo \'/etc/init.d/mysqld successfully modified!\'
  72. echo \'====================================\'
  73. fi
  74. # 设置MYSQL系统服务并开启⾃启
  75. chmod +x /etc/init.d/mysqld
  76. chkconfig --add mysqld
  77. # 启动MYSQLD
  78. service mysqld restart
  79. # 检查 MySQL 服务是否启动成功
  80. netstat -ntlp | grep 3306
  81. if [ $? -ne 0 ];then
  82. echo \'MySQL Boot failure!!!\'
  83. exit
  84. else
  85. echo \'====================================\'
  86. echo \'start MySQL successfully!\'
  87. fi
  88. # 将 MYSQL 的 BIN ⽬录加⼊ PATH 环境变量
  89. echo "export PATH=\$PATH:/usr/local/mysql/bin" >> ~/.bash_profile
  90. source ~/.bash_profile
  91. if [ $? -ne 0 ];then
  92. echo \'Variable write failed!!!\'
  93. exit
  94. else
  95. echo \'====================================\'
  96. echo \'Variable write successful!\'
  97. echo \'====================================\'
  98. fi
  99. # 登陆MYSQL,并执行 SQL 语句
  100. mysql -uroot -p"$InitialPassword" --connect-expired-password < $sqlfile 2> /dev/null
  101. if [ $? -ne 0 ];then
  102. echo \'fail to perform MySQL operation!!!\'
  103. exit
  104. else
  105. echo \'====================================\'
  106. echo \'All operations were successful and can be connected through Navicat!!!\'
  107. echo \'====================================\'
  108. fi

test.sql文件内容如下:

  1. alter user user() identified by "123456";
  2. use mysql;
  3. update user set user.Host=\'%\' where user.User=\'root\';
  4. flush privileges;

第一、修改 root 密码;

第二、设置远程主机登录,可以通过Navicat来登录。

这里需要注意的是不要使用 ./mysql_install-v1.0.sh方式来执行,否则系统环境变量执行完脚本之后不生效;

需要使用source mysql_install-v1.0.sh来执行脚本才可以。

image-20210716112006040

使用修改后的密码登录测试

image-20210716112105269

Navicat 连接测试

Snipaste_2021-07-16_11-07-26

后续还会继续更新其他应用一键安装脚本,欢迎关注我哦!!!

版权声明:本文为l-hh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/l-hh/p/15019316.html