mysql8在CentOS8上安装实践
mysql8的安装过程
一、下载
https://dev.mysql.com/downloads/mysql/
历史版本:https://downloads.mysql.com/archives/community/
二、解压
tar -zxvf /opt/software/mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz -C /usr/local
修改mysql目录名称
mv /usr/local/mysql-8.0.33-linux-glibc2.28-x86_64 /usr/local/mysql
三、配置环境变量
使用vim命令打开环境变量配置文件
vim /etc/profile
在最后端键入下面三行内容
#set mysql8.0.33 enviroment
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:MYSQL_HOME/bin
按键盘的Esc键退出编辑模式,并直接输入两个大写的字母Z(或:wq),即可退出并保存该文件
然后使用source命令重新加载此配置文件使配置生效
source /etc/profile
四、初始化数据库、启动数据库
使用mysqld --initialize对数据库进行初始化,这时他会给一个默认的账号密码。可以对该账号的密码进行修改
cd /usr/local/mysql/bin
./mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
默认账号为: rA8%UeUb*T3T (不见得每此安装默认账号都是此密码)
# 进入数据库中的support-files目录
cd /usr/local/mysql/support-files/
# 使用mysql.server start 命令启动mysql服务
./mysql.server start
# 这时一般会看到以下报错:
# Starting MySQL.Logging to '/usr/local/mysql/data/VM-12-5-xxx.err'.
# ERROR! The server quit without updating PID file (/usr/local/mysql/data/VM-12-5-opencloudos.pid).
# 这是由于mysql服务器启动失败导致的。我们需要修改一下这个文件,让他可以正常启动mysql服务。
# 在vim中 set nu打开行号显示
vim /usr/local/mysql/support-files/mysql.server
:set nu
# 找到 $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null & wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$? 这句话。(这里是266行的位置,需要在266行附近寻找)
# 这句命令会使用mysqld_safe来启动mysql服务,但如果使用root账号使用这个服务需要增加一个启动用户的参数。我们这里正巧使用的是root账号。所以对他进行如下修改。
# 使用i键进入输入模式,在$bindir/mysqld_safe 后方,--datadir="$datadir"前方增加 --user=root这个参数如:$bindir/mysqld_safe --user=root --datadir="$datadir"
# 修改好后按ESC键退出编辑模式,输入两个大写的Z字母退出并保存(或:wq)。
# 然后我们再次启动服务。这次我们可以看到启动成功。
cd /usr/local/mysq/bin
./mysql.server start
五、登录数据库、修改密码
此时我们就可以用刚刚初始化时系统提供的账号密码进行登录
cd /usr/local/mysq/bin
./mysql -u root -p
# 输入你的默认密码,笔者这里是rA8%UeUb*T3T,密码输入正确后会看到以下信息
# Enter password:
#修改密码
alter user 'root'@'localhost' identified by 'root';
# 语法没问题就可以看见 Query OK, 0 rows affected (0.01 sec)。
# 这时我们使用exit命令退出数据库并重新使用新密码链接。发现已经可以正常使用。
exit
六、配置本机访问远程服务器上的mysql服务
6.1关闭防火墙对mysql端口的限制(若防火墙关闭,可以忽略此步骤)
# 防火墙开放3306端口的tcp连接
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重启防火墙后生效
firewall-cmd --reload
6.2 创建一个用以远程访问的账号
# 创建账号 zyf 就是自定的账号名;% 指的是所有地址; 123456就是密码
create user 'zyf'@'%' identified by '123456';
-- 授予的zyf可以远程操作所有库(也可以指定一个库)中的所有表(也可指定某一张表的权限),为增删改
GRANT SELECT, UPDATE, DELETE, INSERT ON *.* TO 'zyf'@'%' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
6.3 修改root可以远程访问
修改root账号的主机值,可以不修改数据库的访问权限直接支持远程访问。(不推荐,因为root账号的权限太大)
update user set Host='%' where User='root'; -- % 指的是所有地址。
FLUSH PRIVILEGES; -- 刷新权限
七、客户端远程连接
# 用户名test远程访问;需要将*.*.*.*修改为读者自己的远程服务器主机地址
mysql -u test -h *.*.*.* -p
八、配置开机自动启动
# 将mysql启动文件丢到init.d目录中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 配置mysql自启
chkconfig --add mysqld
chkconfig mysqld on
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)