mysql 5.7.13 安装配置方法(linux)-后期部分运维 mysql 5.7.13 安装配置方法图文教程(linux)

mysql 5.7.13 安装配置方法图文教程(linux)html

学习了:https://www.cnblogs.com/zhao1949/p/5947938.htmlmysql

/usr/local/mysql是把安装文件拷贝过去的;linux

启动mysql的时候,出现/usr/bin/mysql没有的问题,居然直接拷贝过去一个;sql

增长 groupadd mysql,user -g就是能够建立用户组数据库

须要修改redolog、undolog文件夹位置;修改其文件夹权限为mysql的;ide

须要手动建立redolog文件夹,并且指定为mysql用户全部;才能够正常启动mysql;innodb不会本身建立文件夹;post

修改innodb_undo_tablespaces = 0学习

 登录不了,还须要去掉密码登录:https://blog.csdn.net/learner_lps/article/details/62887343ui

 还须要刷一下root的密码 set password=password('root');   https://jingyan.baidu.com/article/7f41ecec32ac01593d095cb4.htmlurl

cd /usr/local 
tar -zxvf mysql-xxx.tar.gz
mv mysql-xxx mysql
mkdir -p /data/mysql
mdir /data/log
groupadd mysql # 仍是要建立用户组
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql
chown -R mysql:mysql /data # 须要把/data的目录也修改成mysql拥有,不然仍是不能正常建立;
chown -R mysql:mysql /usr/local/mysql
vi /etc/profile # 将/usr/local/mysql/bin 放入到PATH中
source /etc/profile bin
/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
# 注意记录临时密码,若是没有显示,在log中查找
bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
# --initialize-insecure 生成空密码
# basedir是基础目录,是原来的gz程序解压以后的目录,datadir是存数据用的; bin
/mysql_ssl_rsa_setup --datadir=/data/mysql vi /etc/my.cnf 在其中指定 innodb_log_group_home_dir=/data/log/mysql/redolog/ innodb_undo_direcotry=/data/log/mysql/undolog/
# 注意手动建立这些文件夹,而且chown到mysql用户,还有一个/data/log/mysql/mysqld.log文件,也须要手动建立而后chown给mysql
mkdir /data/log/mysql
mkdir /data/log/mysql/redolog
mkdir /data/log/mysql/undolog
touch /data/log/mysql/mysqld.log
chown -R mysql:mysql /data/log
vi /etc/init.d/mysql bin/mysqld_safe --user=mysql & #启动mysql bin/mysql --user=root -ppassword #进入mysql set password=password('root'); #修改密码 grant all privileges on *.* to 'root'@'%' identified by 'root'; #建立远程root链接 flush privileges; \q #退出mysql vi /etc/profile export PATH=/usr/local/mysql/bin:$PATH source /etc/profile chmod 755 /etc/init.d/mysql chkconfig --add mysql chkconfig --level mysql on

磁盘满了,而后kill掉进程以后就没法正常启动了;

1,删除了一些文件,就没法正常启动数据库了;
2,使用bin/mysqld --initialize --user=mysql --basedir=/var/local/mysql --datadir=/data/mysql的时候提示data文件夹不为空,清空之;
3,从新建立数据库以后,没有提示密码是什么,在/data/mysql/mysqld.log中也没有找到;
4,发现不知道密码没法中止,直接kill掉了;
5,在/etc/my.cnf的[mysqld]中增长
skip-grant-tables
而后启动之;
6,mysql  #进入数据库
mysql> use mysql
mysql>update mysql.user set authentication_string=password('newpass') where user='root' and Host ='localhost';
mysql>update user set plugin="mysql_native_password"; 
mysql>flush privileges;
mysql>quit;
7,感受操做以后仍是有问题;
进行修改:
set password=password('root');
grant all privileges on *.* to 'root'@'%' identified by 'root';
flush privileges;
\q
8,关闭数据库
bin/mysqladmin -uroot -proot shutdown

以后建立数据库,导入数据;

发现硬盘空间不够,学习:https://blog.csdn.net/qq_34924407/article/details/80556557

mysql
mysql>reset master;
可是这个没有效果,只有0行受影响;
修改 /etc/my.conf
expire_log_days=1;
禁用日志:
#log-bin=mysql-bin
#binlog_format=mixed

 mysql5.7安装遇到的问题总结,持续更新:http://www.javashuo.com/article/p-knhfnbyz-hb.html

建立数据库,导入数据

mysql -uroot -proot
create database db01 default charset utf8 collate utf8_general_ci;
create database db02 default charset utf8 collate utf8_general_ci;
use db01;
source /usr/local/mysql/db01.sql
use db02;
source /usr/local/mysql/db02.sql
数据库导出:
./bin/mysqldump -uroot -proot -h192.168.0.100 db01 > db01.txt

数据库过了几天数据量较大,删除记录以后空间仍是不会释放,

学习了:http://blog.okbase.net/haobao/archive/1213.html

cd /usr/local/mysql
mysqldump -q -uroot -proot --add-drop-table --all-databases > back0728.sql  --备份数据库
mysqladmin -uroot -proot shutdown --关闭数据库
cd /data/mysql
rm -f ibdata1 --删除innodb的索引等文件
rm -f mysql-bin.*
rm -rf db01  --删除数据库db01的文件
rm -rf db02  --删除数据库db02的文件
cd /data/log/mysql/redolog
rm -f ib*  --删除全部redolog,不删启动不了数据库
nohup mysqld_safe --user=mysql & -- 启动数据库
mysql -uroot -proot -- 登录mysql
source /usr/local/mysql/back0728.sql -- 恢复数据库备份

没有执行

[mysqld]下增长下面配置
innodb_file_per_table=1

由于查的时候

show variables like '%per_table%'
innodb_file_per_table已是ON;

整理1:

# 建立以下目录: mkdir -p 级联建立
/data/mysql
/data/log/mysql/mysqld.log
				/redolog
				/undolog
/usr/local/mysql
/etc/my.cnf
/etc/init.d/mysql
# 解压文件/usr/local/mysql,建立用户,修改目录所属权限,安装启动,设置path
bin/mysqld --initialize --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
bin/mysql_ssl_rsa_setup --datadir=/data/mysql
bin/mysqld_safe --user=mysql &
# 修改密码,因为skip-grant-tables,并且如今建立的也没有密码
mysql -uroot -p # 直接登陆
>use mysql
>update mysql.user set authentication_string=password('root') where user='root';
>update user set plugin='mysql_native_password'; # 可能不执行
>flush privileges;
>\q
再一次登陆
mysql -uroot -proot
>set password=password('root');
>grant all privileges on *.* to 'root'@'%' identified by 'root';
>flush privileges;
>\q

整理2,官网安装步骤:

https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html 

注意selinux权限问题:https://my.oschina.net/jathon/blog/1613896

ibdata1文件过大删除过程:

学习了:https://www.cnblogs.com/alibai/p/3650416.html 使用了第三种方法

# 导出全部数据
/usr/bin/mysqldump ––extended-insert ––all-databases ––add-drop-database ––disable-keys ––flush-privileges ––quick ––routines ––triggers > all-databases.sql
mysqladmin -uroot -proot shutdown
rm -rf /data/mysql/ib*  # 删除大文件
rm -rf /data/log/redolog/*  # 删除日志文件,不然启动不了
rm -rf /data/mysql/db01*  # 删除数据库文件夹,不然启动后就没有表了
nohup mysqld_safe --user=mysql &  # 启动数据库
mysql -uroot -proot  # 登录数据库
set foreign_key_checks=0;
source all-databases.sql;
set foreign_key_checks=1;

修改密码:

ALTER USER 'root'@'%' identified by 'newpass';
或者 指定能够访问的IP地址,多建立几个用户,指定固定的IP地址;

新建用户:

学习了:https://www.cnblogs.com/sos-blue/p/6852945.html

create user 'pig'@'%' identified by 'pig';
grant all on *.* to 'pig'@'%';还能够改成一句:grant all on *.* to 'pig'@'%' identified by 'pig';添加grant权限:grant all on *.* to 'pig'@'%' identified by 'pig' with grant option;删除用户:drop user pig; 这个是指 drop user pig@'%';drop user 'pig'@'localhost'; 须要指定localhost;
相关文章
相关标签/搜索