mysql 5.8安装

mysql 版本:mysql-8.0.22

  下载地址:

    1、官网,太慢了,不推荐;

    2、国内镜像,地址:mysql-8.0.22-linux-glibc2.12-x86_64.tar

操作系统版本:CentOS release 6.8 (Final)

  下载地址:额,自行下载

centos安装好后,把安装包拷贝到 /usr/local/soft 下。

解压tar包:

tar xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar

解压后如下:

 新建一个文件夹mysql_install;

拷贝mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz到新的文件夹;

解压mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz

mkdir mysql_install
cp mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz ./mysql_install/mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
cd mysql_install/
xz -d mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz

现在 mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz 解压成了mysql-8.0.22-linux-glibc2.12-x86_64.tar

再对mysql-8.0.22-linux-glibc2.12-x86_64.tar进行解压:

tar xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar

拷贝mysql-8.0.22-linux-glibc2.12-x86_64到/usr/local/mysql下

创建mysql用户和添加用户组

并且给mysql用户和用户组授权mysql文件夹的权限

cp -r mysql-8.0.22-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql/
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql ./

 初始化mysql数据库,随后会生成一个随机的密码,这个密码拷贝下来,后面要用:

./bin/mysqld --initialize

 设置一些配置文件位置和mysql配置:

./bin/mysqld 

--defaults-file=/etc/mysql/my.cnf
--basedir=/usr/local/mysql/
--datadir=/var/lib/mysql/
--user=mysql
--initialize-insecure
--ssl
--explicit_defaults_for_timestamp
./bin/mysql_ssl_rsa_setup --datadir=/var/lib/mysql/ --verbose --uid=mysql

启动服务:

service mysql start

测试报错:

拷贝 /usr/local/mysql/data/auto.cnf文件内容到 /etc/mysql/my.cnf下,如果该文件或目录不存在,则新建

配置my.cnf

vim /etc/mysql/my.cnf

新增:

[mysqld]
datadir=/usr/local/mysql/data
pid-file =  /usr/local/mysql/data/mysql.pid
basedir =  /usr/local/mysql/

同时日志文件 localhost.localdomain.err 文件也是不存在的,如报错所指,在目录/usr/local/mysql/data/下,也要新建:

touch localhost.localdomain.err

然后在赋权限,可用fillezilla或者指令赋权如下效果,随后如果再有错误,就会打印在该文件中:

 再次启动mysql服务:service mysql start,再次报错

 查看日志:

 mysql用户的数据权限问题,重新在/usr/local/mysql目录下给mysql用户赋权:

chown -R mysql:mysql ./

此时启动mysql:service mysql start

成功:

登录,在/usr/local/mysql/bin下:./mysql -u root -p 随后输入密码

进入界面后需要马上修改密码,否则报 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

 修改mysql密码:

ALTER USER USER() IDENTIFIED BY '密码';

 此时远程连接是不行的,需要设置允许远程用户访问

切换到mysql数据库,赋权,刷新权限。

use mysql
update user set host = '%' where user = 'root'
GRANT ALL ON *.* TO 'root'@'%'
flush privileges

更多方式参考链接

关闭Linux防火墙或者开放3306端口号,即可远程访问数据库。

配置mysql开机自启动 参考

先将/usr/local/mysql/mysql/support-files/ 文件夹下的mysql.server文件复制到 /etc/rc.d/init.d/ 目录下mysqld

命令: cp /usr/local/mysql/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

赋予可执行权限:chmod +x /etc/init.d/mysqld

添加为服务: chkconfig --add mysqld

查看服务列表:  chkconfig --list

原文地址:https://www.cnblogs.com/ShawnYang/p/14020585.html