63.mysql8.0.22安装
网址:https://dev.mysql.com/downloads/ MySQL Community Server Linux - Generic 1)切换到/data目录下 2)创建mysql文件夹 mkdir mysql8 3)切换到mysql文件夹下 4)解压下载好的mysql8安装包 5)重命名解压出来的文件夹,这里改成mysql mv mysql-8.0.22 mysql8 6)/data文件夹下创建data文件夹存储文件 mkdir /data/mysql8/mysql_data 7)分别创建用户组以及用户和密码 groupadd mysql useradd -g mysql mysql 8)授权刚刚新建的用户 chown -R mysql:mysql /data/mysql8 chmod -R 750 /data/mysql8/mysql_data 9)配置环境,编辑/etc/profile文件 vim /etc/profile 加入环境变量 export PATH=$PATH:/data/mysql8/bin:/data/mysql8/lib 10)编辑my.cnf文件 vi /etc/my.cnf [mysql] default-character-set=utf8mb4 [client] #port=3306 socket=/var/lib/mysql/mysql.sock [mysqld] #port=3306 #server-id=3306 user=mysql general_log = 1 general_log_file= /var/log/mysql/mysql.log socket=/var/lib/mysql/mysql.sock basedir=/data/mysql8 datadir=/data/mysql8/mysql_data log-bin=/data/mysql8/mysql_data/mysql-bin innodb_data_home_dir=/data/mysql8/mysql_data innodb_log_group_home_dir=/data/mysql8/mysql_data/ character-set-server=utf8mb4 lower_case_table_names=1 autocommit=1 default_authentication_plugin=mysql_native_password symbolic-links=0 #explicit_defaults_for_timestamp=true [mysqld_safe] log-error=/data/mysql8/mysql_data/mysql.log pid-file=/data/mysql8/mysql_data/mysql.pid 如提示错误,请创建/var/log/mysql/mysql.log文件并给权限,清空mysql_data目录后再试 11)切换到/data/mysql8/bin目录下 cd /data/mysql8/bin 12)初始化基础信息,得到数据库的初始密码(在/data/mysql8/bin目录下执行) ./mysqld --user=mysql --basedir=/data/mysql8 --datadir=/data/mysql8/mysql_data/ --initialize 复制出密码保存 13)复制mysql.server文件,在/data/mysql8/目录下执行 cp ./support-files/mysql.server /etc/init.d/mysql cp ./support-files/mysql.server /etc/init.d/mysqld 14)赋予权限 chown 755 /etc/my.cnf chmod +x /etc/init.d/mysql chmod +x /etc/init.d/mysqld 15)检查一下/var/lib/mysql是否存在,否则进行创建 mkdir /var/lib/mysql chown -R mysql:mysql /var/lib/mysql/ ln -s /data/mysql8/bin/mysql /usr/bin 16)启动数据库,有SUCCESS字眼说明MySQL安装完成 service mysql start 17)开机启动 chmod +x /etc/init.d/mysqld chkconfig --add mysqld chkconfig --list ps: 如果发现启动失败,可以先查看data里面的mysql.log,如果有提示3306这样的字样,第一个想到的应该是端口被占用, 使用lsof -i:端口号,查看是哪个PID(进程号)占用了该端口,然后使用kill PID(进程号)杀掉进程,重新执行service mysql start 修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql) 1)修改数据库root账号的密码,并设置可以远程访问(因为root默认是不能远程访问的) ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'shimujiuxia'; 2)执行 flush privileges; 使密码生效 3)选择数据库 use mysql; 4)再修改远程连接并生效 update user set host='%' where user='root'; 5)执行提交命令,搞定! flush privileges; 最后就可以使用root账号去登录mysql了 防火墙开启需要把3306加入白名单 服务器防火墙开启的情况下,必须要让防火墙开启myslq的3306端口,其他服务器上的应用才能成功连接。 或者直接关闭服务器的防火墙。 题外: 给mysql创建新的数据库用户并授予权限 1)创建用户 CREATE user 'mysql'@'%'; #修改密码 alter user 'mysql'@'%' identified with mysql_native_password by 'tcl.2021'; 2)创建新的数据库 create database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci; 3)把新的数据库授权给新用户 将test库的所有权限赋予mysql用户 grant all privileges on test.* to "mysql"@"%"; grant all privileges on test.* to "tcl"@"%"; 4)刷新权限 flush privileges;