安装环境:Deepin 15.9 64位
MySql版本:5.7
所有操作都在root用户下进行
下载MySql安装包
访问https://dev.mysql.com/downloads/mysql,右边找到5.7版本,选择下载需要的安装包,这里选择Debian 9 x86_64版本,第一个DEB Bundle包,如下图。
查看MySql安装文档
根据官方文档https://dev.mysql.com/doc/refman/5.7/en/linux-installation-debian.html,执行以下步骤安装
- 安装需要的依赖包libaio1,可以使用apt-get命令安装,也可以自行下载deb包安装
apt-get install libaio1
- 解压下载的tar包
tar -xvf mysql-server_*.tar
- 预配置MySql的root密码
dpkg-preconfigure mysql-community-server_*.deb
执行以上命令后,命令行会显示一个窗口,提示输入root密码,并会再次确认输入,此root密码非常重要
- 安装MySql软件包
dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb
此步骤会提示一些依赖错误,没关系,可以继续往下
- 继续完成安装
apt-get -f install
至此MySql已安装完成,并启动完成,程序文件在/usr/bin和/usr/sbin目录下,配置文件在/etc/mysql目录下,数据文件在/var/lib/mysql目录
启停/开机自启动MySql
- 启动与停止
service mysql start/stop
或者
systemctl start/stop mysql
- 开机自启动
systemctl enable/disable mysql
my.cnf基本配置
[mysql]
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
default-storage-engine=InnoDB
skip-name-resolve
如果需要远程登录的话,需要注释掉/etc/mysql/mysql.conf.d/mysqld.cnf文件中默认的bind-address配置,或者替换成实际的ip地址
#bind-address=127.0.0.1
完成安装自动化
根据上面的安装步骤,发现阻止安装自动化的步骤在手动预配置root密码,有没有什么方法来代替此步骤?
在执行dpkg-preconfigure mysql-community-server_*.deb命令并输入密码后,密码信息一定是保存在一个地方,我们要把此信息查询出来,并通过自动配置的方法来代替dpkg-preconfigure命令的方式来配置root密码。
[email protected] ~ $ debconf-show --listowners | grep mysql
mysql-community-server
[email protected] ~ $ debconf-show mysql-community-server
* mysql-community-server/re-root-pass: (password omitted)
* mysql-community-server/root-pass: (password omitted)
* mysql-community-server/data-dir:
mysql-community-server/remove-data-dir: false
mysql-community-server/root-pass-mismatch:
通过上面两个查询命令,可以看出执行dpkg-preconfigure mysql-community-server_*.deb后系统中存在的配置项,其中带*的是必须的。
在此,我们准备一个文本文件,内容如下,格式为“owner key type text”,其中password后面的值为密码明文,需要替换成自己实际需要配置的值。
[email protected] ~ $ cat mysql.txt
mysql-community-server mysql-community-server/root-pass password root
mysql-community-server mysql-community-server/re-root-pass password root
mysql-community-server mysql-community-server/data-dir text
准备好文本文件后,通过debconf-set-selections命令加载文本内容到系统中
debconf-set-selections mysql.txt
至此,自动配置MySql安装时需要的root密码已完成,按上面步骤写一个Shell脚本即可以全自动化安装部署MySql数据库了。