演示系统fedora32
[lzq@localhost server]$ wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz [lzq@localhost server]$ sudo tar -xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz配置文件内容
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=/opt/server/mysql # 设置mysql数据库的数据的存放目录 datadir=/data/mysql # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/data/mysql/localhost.pid执行完成后,会打印 root 用户的初始默认密码
注意!执行输出结果里面有一段: [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rI5rvf5x5G,E 其中root@localhost:后面的“rI5rvf5x5G,E”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。
要是你手贱,关快了,或者没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。
登陆进去后执行下面的命令修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';解压的mysql文件夹下有个support-files文件夹,修改下面的mysql.server文件的下面两个内容
basedir=/opt/server/mysql #mysql位置 datadir=/data/mysql #mysql数据文件位置
[lzq@localhost bin]$ sudo gedit /opt/server/mysql/support-files/mysql.server将mysql.server映射到/etc/rc.d/init.d/下
[lzq@localhost bin]$ ln -s /opt/server/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql [lzq@localhost bin]$ cd /etc/rc.d/init.d/ [lzq@localhost init.d]$ sudo chkconfig --add mysql #添加mysql服务 [lzq@localhost init.d]$ sudo chmod +x /etc/rc.d/init.d/mysql #授权然后启动mysql
[lzq@localhost init.d]$ sudo service mysql start然后这个时候会报一个错误 Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/localhost.pid).
编辑/opt/server/mysql/support-files/mysql.server,找到start模块,添加–user=root到mysqld_safe 即可
然后解决问题
设置开机自启动
[lzq@localhost init.d]$ sudo systemctl enable mysql