linux快速安装mysql
一、官网下载mysql安装包,上传服务器解压
tar -xvf mysql-8.0.16-linux-glibc2.12x86_64.tar.xz
二、移动mysql目录到路径
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
mv mysql-8.0.16-linux-glibc2.12x86_64/* /usr/local/mysql
三、添加系统mysql组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
四、初始化mysql配置表
进入mysql目录下,修改当前目录为mysql用户及属组。
cd /usr/local/mysql
chown -R mysql:mysql ./*
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化后会生成一个临时密码,需记住。
注:
①如/usr/local/mysql下没有生成tmp目录,手工创建,并配置权限。
mkdir tmp
chmod 777 ./tmp
②若报错:bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
则yum安装numactl,命令为:yum -y install numactl
再次执行"bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data"
五、修改配置文件my.cnf
vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /usr/local/mysql/tmp/mysql.sock
#指定用户密码加密方式
default_authentication_plugin=mysql_native_password
#必填项
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket = /usr/local/mysql/tmp/mysql.sock
六、加入开机自启
将{mysql}/support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,就可以使用service mysql命令启停服务。
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
注册启动服务:
chkconfig --add mysql
查看是否添加成功
chkconfig --list mysql
显示:mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
七、启动mysql数据库
启动:systemctl start mysql
停止:systemctl stop mysql
重启:systemctl restart mysql
八、配置环境变量
配置环境变量
vim /etc/profile
文件中写入:export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
保存退出之后,让文件生效source /etc/profile
九、登录并修改密码
mysql -uroot -p * #*随机生成的密码
注:mysql 8.0 默认使用 caching_sha2_password 身份验证机制 —— 从原来的 mysql_native_password 更改为 caching_sha2_password。
从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password,恰恰客户端不支持新的加密方式。
所以,使用
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
修改密码,而不是
alter user 'root'@'localhost' identified by 'root'; //修改root密码
十、设置可远程登录
执行use mysql;
执行update user set host = '%' where user = 'root';
执行FLUSH PRIVILEGES;
十一、简单的mysql操作命令
登录:mysql -u root -p
查看现有用户:select host,user,authentication_string from mysql.user;
新建用户:create user "username"@"host" identified by "password";
host="localhost"为本地登录用户,host="ip"为ip地址登录,host="%",为外网ip登录。
删除用户:drop user 'username'@'host';
授权:grant privileges on databasename.tablename to 'username'@'host' IDENTIFIED BY 'PASSWORD';
指定用户对指定库权限:grant all on 数据库名.* to 用户名;
执行sql脚本:source /路径/数据库脚本;

浙公网安备 33010602011771号