Linux安装mysql8.0与Navicat连接mysql
一、Linux下载安装mysq1 下载mysql安装包,也可以通过本地xftp上传到虚拟机2 将下载的mysql安装包解压3 配置mysql配置文件与初始化mysql4 修改mysql配置文件5 创建tmp存储文件mysql.sock6 加入开机自启7 开启mysql服务并配置环境变量8 登录mysql,修改密码 二、Navicat连接mysql三、总结一、Linux下载安装mysq
1 下载mysql安装包,也可以通过本地xftp上传到虚拟机
mysql国内镜像地址:(推荐使用这个下载快一些)
mysql官网地址:
1. cd / -- 进入到根目录 2. mkdir www -- 在根目录下创建一个www的目录 3. 使用Xftp上传mysql的压缩包
2 将下载的mysql安装包解压
--解压tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz--移动mv mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz mysql-- 进入mysql文件(你把压缩文件移动的文件中)cd mysql --添加mysql组groupadd mysql--添加mysql用户useradd -r -g mysql mysql
3 配置mysql配置文件与初始化mysql
cd ../ -- 返回上一层目录(www目录)mv mysql /usr/local/ -- 把mysql文件 移动到/usr/local/中cd /usr/local -- 进入/usr/local 目录中cd mysql -- 进入到mysql目录中给mysql组/usr/local/mysql文件权限chown -R mysql:mysql /usr/local/mysql -- 初始化mysql (这里会给一个12位的mysql初始化密码)./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/datachown -R root:root /usr/local/mysql -- chown -R mysql:mysql /usr/local/mysql/data -- --修改/etc/f配置文件权限chmod 755 f --
4 修改mysql配置文件
[mysql]default-character-set=utf8[client]port=3306default-character-set=utf8socket=/usr/local/mysql/tmp/mysql.sock[mysqld]socket=/usr/local/mysql/tmp/mysql.sockport=3306default_authentication_plugin=mysql_native_passwordbasedir=/usr/local/mysqldatadir=/usr/local/mysql/datacharacter-set-server=utf8default-storage-engine=InnoDbmax_connections=1000collation-server=utf8_unicode_ciinit_connect='SET NAMES utf8'innodb_buffer_pool_size=64Minnodb_flush_log_at_trx_commit=1innodb_lock_wait_timeout=120innodb_log_buffer_size=4Minnodb_log_file_size=256Minteractive_timeout=120join_buffer_size=2Mkey_buffer_size=32Mlog-error=/usr/local/mysql/data/data.errlog_error_verbosity=1max_allowed_packet=256Mmax_heap_table_size=64Mmyisam_max_sort_file_size=64Gmyisam_sort_buffer_size=32Mread_buffer_size=512kbread_rnd_buffer_size=4Mlog_bin=mysql-binserver-id=1skip-external-locking=onsort_buffer_size=256kbtable_open_cache=256thread_cache_size=16tmp_table_size=64Mwait_timeout=2288800general_log=ONgeneral_log_file=/usr/local/mysql/data/query_log.pidslow_query_log=ONslow_query_log_file=sql-slow.loglong_query_time=1sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
5 创建tmp存储文件mysql.sock
创建tmp文件用于存储mysql.sockmkdir tmp给权限,不然可能tmp文件里面什么都没有导致mysql开启不了chmod 777 tmp
6 加入开机自启
--将mysql服务添加到/etc/init.dcd support-files -- 进入目录/etc/init.d -- 添加mysql服务cp mysql.server /etc/init.d/mysql -- mysql.server加入开机自启chmod +x /etc/init.d/mysql -- 给权限--添加服务chkconfig --add mysql--查看是否添加成功chkconfig --list mysql-- 0-1 关 2-5 开 6 关
7 开启mysql服务并配置环境变量
service mysql startvi /etc/profileprofile文件末尾处填写内容:export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib保存退出之后,修改完成后不会立即生效运行命令:source /etc/profile
8 登录mysql,修改密码
systemctl stop firewalld -- 关闭虚拟机防火墙mysql -uroot -p -- 登录mysql输入初始化的12位密码登录--修改密码alter user 'root'@'localhost' identified by 'root';service mysql restart -- 重启mysql服务
二、Navicat连接mysql
因为安装的mysql是最新的mysql8.0,他对于Navicat,mycat等工具去连接mysql会出现一个异常,这个异常是因为mysql8的密码加密方式是属于全新的加密方式,而目前的Navicat版本尚不支持这个加密方式,错误异常如下:
解决办法
1.使用新版Navicat create user 'asi'@'%' identified by 'root'; -- 创建用户grant all on *.* to 'asi'@'%' with grant option; -- 给予权限2.更改用户加密规则为Navicat(mysql_native_password)加密规则alter user 'asi'@'%' identified with mysql_native_password by 'root'; -- 修改加密方式3.统一解决办法:重新初始化mysql服务
三、总结
mysql centos 安装:1.解压安装包2.添加用户组3.mysql服务初始化mysql连接与启动问题:安装问题:pid文件问题:The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).问题问题出现的原因:1. data目录的权限不够解决:给予权限,chmod 755 data,然后重启2. 进程中已经存在mysql进程解决:kill -9 杀死已经存在的进行mysql.sock:给tmp文件权限(777)重启mysql服务或者copy一份mysql.sock文件到指定目录Navicat与mycat连接mysql问题问题原因:mysql8.0新特性引起,caching_sha2_password由此加密规则引起,而mycat与老版本Navicat for mysql 的加密规则是mysql_native_password解决办法:1.使用新版Navicat -- 测试create user 'asi'@'%' identified by 'root'; -- 创建用户grant all on *.* to 'asi'@'%' with grant option; -- 给予权限2.更改用户加密规则为Navicat(mysql_native_password)加密规则alter user 'asi'@'%' identified with mysql_native_password by 'root'; -- 修改加密方式统一解决办法:重新初始化mysql服务