quick-start系列-mysql-install

centos-quick-start

参考文章

通过archive(压缩包)安装

参考文章

下载和安装

#安装前提,下载对应library
yum install libaio
复制代码
#在官网中寻找合适的版本下载
#mysql下载地址
https://dev.mysql.com/downloads/mysql/
复制代码
#请先确保你的权限足够高
cd /usr/local

#下载和解压
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-i686.tar.gz

tar -zxvf mysql-8.0.11-linux-glibc2.12-i686.tar.gz

#创建连接,便于管理版本
ln -s mysql-8.0.11-linux-glibc2.12-i686 mysql
#之后需要替换版本
ln -snf ${your-another-version} mysql

#创建工作目录
cd mysql
mkdir data
复制代码

用户管理

#创建mysql用户,并赋予权限
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown -R mysql:mysql .
复制代码

useradd -r 系统用户 -s /bin/false 无登陆权限

初始启动

#启动服务
./bin/mysqld --initialize --user=mysql --basedir=. --datadir=./data
#启动完之后,mysqld会给一个临时密码,记得保存好
复制代码

启动过程中会抛出错误

#启动时,可能会出现部分库没有,安装即可

例如出现这个问题
./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

yum install libnuma.so.1
复制代码

配置文件修改

#修改配置文件 /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql 
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
character-set-server=utf8
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#忘记初始密码可以追加此参数启动
#skip-grant-tables
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8
复制代码

配置环境变量

#在/etc/profile末尾追加

echo "#set mysql environment" >> /etc/profile
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
echo "export PATH" >> /etc/profile

# 生效配置文件
source /etc/profile
复制代码

注册mysqld服务,并启动mysqld

cp ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
复制代码

通过rpm安装

未完待续…

进入mysql,并修改相关参数

允许远程访问

#进入mysql
mysql -u root -p
#修改密码
alter user 'root'@'localhost' identified by '123456';
#允许远程访问
use mysql;
update user set host='%' where user='root';
flush privileges;
复制代码

无密码访问,并修改密码

#修改 /etc/my.cnf,追加skip-grant-tables
#重启服务
service mysqld restart

#进入mysql
mysql -u root
flush privileges;
alter user 'root'@'localhost' identified by '123456';
复制代码

修改时区

#查询当前mysql时间
select now();
SHOW VARIABLES LIKE "%time_zone%";

SET GLOBAL time_zone = '+8:00';
SET time_zone = '+8:00';

flush privileges;
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享