网站建设合作报道,网页是不是网站,顺德网页定制,学校网站设计的功能Linux下安装MySQL8.0的详细步骤 第一步#xff1a;下载安装配置
第二步#xff1a;修改密码#xff0c;并设置远程连接#xff08;为了可以在别的机器下面连接该mysql#xff09;
第三步#xff1a;使用Navicat客户端连接 搞了一台云服务器#xff0c;首先要干的活就是… Linux下安装MySQL8.0的详细步骤 第一步下载安装配置
第二步修改密码并设置远程连接为了可以在别的机器下面连接该mysql
第三步使用Navicat客户端连接 搞了一台云服务器首先要干的活就是得安装数据库在Windows下安装不用说傻瓜式操作在Linux上安装少说要记录一下。 我使用的是XShell7 ssh 连接工具访问的Linux其他工具的用法和命令都一样界面如下 在这里我使用的不是root用户登录的所以先切换到root用户命令su
第一步下载安装配置
切换到 /usr/local/
cd /usr/local/创建mysql文件夹
mkdir mysql切换到mysql文件夹下
cd mysql下载mysql8.0安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz等待下载成功 解压mysql8.0安装包
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 重命名解压出来的文件夹这里改成mysql-8.0
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0. /use/local/mysql-8.0文件夹下创建data文件夹 存储文件
mkdir data分别创建用户组以及用户和密码如果提示已存在说明之前有创建过了
groupadd mysql
useradd -g mysql mysql授权刚刚新建的用户
chown -R mysql.mysql /usr/local/mysql/mysql-8.0
chmod 750 /usr/local/mysql/mysql-8.0/data -R配置环境编辑/etc/profile文件
注意这里有一个坑在配置完环境变量后需要执行source /etc/profile命令使配置文件生效
vim /etc/profile
#--------------------------
#点击键盘上的i键进入输入模式在配置文件最后增加一行
#--------------------------
export PATH$PATH:/usr/local/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib
#添加完成后按Esc键退出输入模式进入命令模式输入:wq保存并退出
#然后在输入cat /etc/profile 查看是否保存成功效果如下↓↓↓↓↓↓11. 编辑my.cnf文件
vim /etc/my.cnf
[mysql]
default-character-setutf8mb4
[client]
#port3306
socket/var/lib/mysql/mysql.sock
[mysqld]
#port3306
#server-id3306
usermysql
general_log 1
general_log_file /var/log/mysql/mysql.log
socket/var/lib/mysql/mysql.sock
basedir/usr/local/mysql/mysql-8.0
datadir/usr/local/mysql/mysql-8.0/data
log-bin/usr/local/mysql/mysql-8.0/data/mysql-bin
innodb_data_home_dir/usr/local/mysql/mysql-8.0/data
innodb_log_group_home_dir/usr/local/mysql/mysql-8.0/data/
character-set-serverutf8mb4
lower_case_table_names1
autocommit1
default_authentication_pluginmysql_native_password
symbolic-links0
# Disabling symbolic-links is recommended to prevent assorted security risks
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error/usr/local/mysql/mysql-8.0/data/mysql.log
pid-file/usr/local/mysql/mysql-8.0/data/mysql.pid
#
# include all files from the config directory切换到/usr/local/mysql/mysql-8.0/bin目录下
cd bin初始化基础信息,得到数据库的初始密码在/usr/local/mysql/mysql-8.0/bin目录下执行
./mysqld --usermysql --basedir/usr/local/mysql/mysql-8.0 --datadir/usr/local/mysql//mysql-8.0/data/ --initialize
#初始化完成后复制最后的初始密码保存下来后面需要这一步好像并没有用
#igTn3j-复制 mysql.server 文件在/usr/local/mysql/mysql-8.0目录下执行
cp -a ./support-files/mysql.server /etc/init.d/mysql
cp -a ./support-files/mysql.server /etc/init.d/mysqld赋予权限
chown 777 /etc/my.cnf
chmod x /etc/init.d/mysql
chmod x /etc/init.d/mysqld检查一下/var/lib/mysql是否存在否则进行创建
mkdir /var/lib/mysqlchown -R mysql:mysql /var/lib/mysql/ 启动数据库有SUCCESS字眼说明MySQL安装完成
service mysql start
#出现SUCCESS 说明启动成功效果图如下ps: 如果发现启动失败可以先查看data里面的mysql.log如果有提示3306这样的字样第一个想到的应该是端口被占用 使用lsof -i:端口号查看是哪个PID进程号占用了该端口然后使用kill PID进程号杀掉进程重新执行service mysql start
第二步修改密码并设置远程连接为了可以在别的机器下面连接该mysql
在这一步最开始就浪费了我好大的时间。如果用之前的初始密码登录可能会出现以下的错误 在这一步的时候研究了好久记录一下处理过程
在 vim /etc/my.cnf文件中在[mysqld]的段中加上一句skip-grant-tables --跳过密码验证然后保存退出重启MySQL服务然后输入mysql -uroot -p 敲两下回车进入mysqlUSE mysql ; --进入数据库在mysql8.0 中这个更新语法不能用UPDATE user SET Password password ( ‘new-password’ ) WHERE User ‘root’ ; 使用这个ALTER USER ‘root’‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;最后按照下边的步骤进行就可以了。
修改数据库root账号的密码并设置可以远程访问因为root默认是不能远程访问的
ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 新密码;执行flush privileges; 使密码生效
flush privileges;#刷新权限选择数据库
use mysql;再修改远程连接并生效
mysql create user root% identified by password;
Query OK, 0 rows affected (0.03 sec)
mysql grant all privileges on *.* to root% with grant option;
Query OK, 0 rows affected (0.01 sec)
mysql flush privileges;
Query OK, 0 rows affected (0.00 sec)执行提交命令搞定
flush privileges;#刷新权限第三步使用Navicat客户端连接
1.填写IP、端口连接mysql服务 注若连接不到可以查看mysql端口是否开放若未开放则开放端口继续连接最终测试成功