linux下mysql安装
Linux⼆进制包安装MySQL 5.7的步骤
下载
下载MySQL 5.7⼆进制包 OS选择:linux generic,按照系统版本下载。
下载⻚⾯:
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
wget
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.
gz
创建⽤⼾
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
解压安装
tar zxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local
cd /usr/local
ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql
设置环境变量
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
配置MySQL
例如把mysql数据放在/data/mysql⽬录,创建⽬录。
mkdir -pv /data/mysql
chown mysql.mysql /data/mysql
chmod go-rwx /data/mysql
配置my.cnf
vim /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]port = 3306
socket = /tmp/mysql.sock
pid_file = /data/mysql/mysql.pid
datadir = /data/mysql
default_storage_engine = InnoDB
max_allowed_packet = 512M
max_connections = 2048
open_files_limit = 65535
skip-name-resolve
lower_case_table_names=1
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
innodb_buffer_pool_size = 512M
innodb_log_file_size = 1024M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 0
key_buffer_size = 64M
log-error = /data/mysql/mysql_error.log
log-bin = /data/mysql/mysql-bin
binlog_format = mixed
expire_logs_days = 10
slow_query_log = 1
slow_query_log_file = /data/mysql/slow_query.log
long_query_time = 1
server-id=1
具体路径和配置根据服务器配置以及个⼈需求可以修改。
初始化数据库:
执⾏初始化命令,执⾏完会在 /data/mysql ⽣成数据⽂件。
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
cat /data/mysql/mysql_error.log 在⽇志⽂件⾥会提⽰⼀个临时密码,记录这个密码 如 3igikt:T&p1r
配置启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list |grep mysqld
启动MySQL
/etc/init.d/mysqld start
看到进程说明启动成功。
修改初始密码(改为弱密码)
SHOW variables LIKE 'validate_password%';
将密码验证策略改为LOW,密码长度4位以上
1 set global validate_password.policy=0; #有的MySQL版本为
validate_password_policy,此处请以上一步查询到的字段名称为准
2 set global validate_password.length=4; #重启MySQL后失效
导⼊数据库
##登录和重置root密码
mysql -u root -p
##输⼊临时密码
mysql>set password for root@localhost = password('root123456');
修改mysql密码为 root123456;
mysql>create database xxx; 创建数据表;
mysql>show databases; 查看数据表是否创建成功;
mysql>use xxx; 进⼊数据表
mysql>source /root/test.sql; 导⼊库结构;
mysql>flush privileges; 刷新
mysql>insert into ds_sys_user('id', 'username','password','role','state') values('1','admin',
'admin',1,1); 写⼊不能为空字段
mysql>exit; 退出
安装完成。
数据库重启
/etc/init.d/mysqld start
解决无法用第三方工具连接mysql的问题
解决方案:在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。
mysql -u root -p//以权限用户root登录
mysql>use mysql;//选择mysql库
mysql>select 'host' from user where user='root';//查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
mysql>update user set host = '%' where user ='root';//修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
mysql>flush privileges;
mysql>select 'host' from user where user='root';