使用mysqldump命令,
先进入bin目录找到mysqldump命令
-E -R 备份上事件和存储过程,不带会丢失,切记!!!
压缩备份如下
mysqldump -h172.20.5.33 -uroot -p
-E -R dataassets1 | gzip > /tmp/backup/dataassets1.sql.gz
备份全库的话:
mysqldump -uroot -p --all-databases | gzip > /tmp/all.sql.gz
使用如下命令,查询是否有安装mysql
rpm -qa|grep -i mysql
停止数据库
service mysql stop
有结果的话,用rpm -ev 命令删除,带上参数--nodeps
示例:rpm -ev MySQL-client-5.5.25a-1.rhel5 --nodeps
如果没有结果,无视
继续使用命令 find / -name mysql
查找MySQL文件,然后rm -rf +路径删除,判断一下真实路径,防止误删除其他文件
卸载后/etc/my.cnf不会删除,可以不删除,重装时修改文件内容即可
创建mysql文件
mkdir /usr/local/mysql
解压安装包
tar -xvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
把解压后的内容移动到/usr/local/mysql这个目录下
mv mysql-5.7.29-linux-glibc2.12-x86_64/* /usr/local/mysql
进入文件夹内
cd /usr/local/mysql/
添加组 (重装时之前已经有了,不用创建)
groupadd mysql
添加用户(重装时之前已经有了,不用创建)
useradd -r -g mysql mysql
文件夹权限给到musql用户组
chown -R mysql:mysql /usr/local/mysql
创建data文件
mkdir /usr/local/mysql/data
初始化,记得进入bin目录,否则出现找不到文件错误
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
--------------若初始化报错,则缺少libiao,没有则无视
--------------yum install libaio
进入bin目录,开启SSL
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data/
data文件权限给到mysql用户组
chown -R mysql:mysql /usr/local/mysql/data/
配置my.cnf,中间加上了skip-grant-tables,为了root第一次无密码验证登录
vi /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
#是否区分大小写:0-区分大小写,1-不区分大小写
lower_case_table_names = 1
skip-grant-tables
#不开启sql严格模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysqld_safe]
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
启动mysql
service mysql start
如果启动失败
1.查询/etc/init.d/下是否存在mysql
ll /etc/init.d/ | grep mysql
发现该目录下并没有mysql的文件
2、查询mysql.server所在处
find / -name mysql.server
3、执行复制操作,/usr/local/mysql/是我自己的mysql安装目录,
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
--------设置开机自启动
替换mysqld为mysql.server
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
修改修改mysqld
vim /etc/init.d/mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
保存配置
chkconfig --add mysqld
执行这个命令,设置软链接到/usr/bin目录中,
ln -s /usr/local/mysql/bin/mysql /usr/bin
mysql -u root -p ,然后回车两次,进入到mysql
alter user 'root'@'localhost' identified by '新密码';
flush privileges ;
quit;
如果报错:1290 - The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
先执行下:flush privileges ;
远程登录mysql
个人选择用navicat连接数据库,在mysql数据库中的user表中插入一条host值为%数据,然后更新密码,刷新
update mysql.user set authentication_string=password('新密码') where User='root' and host='%';
flush privileges ;
vi /etc/my.cnf
注释掉 #skip-grant-tables
保存退出后
重启数据库
service mysql restart
个人喜欢navicat上新建数据库
gunzip < dataassets1.sql.gz | mysql -uroot -p dataassets1
CREATE USER 'kettle'@'localhost' IDENTIFIED BY '密码';
CREATE USER 'kettle'@'%' IDENTIFIED BY '密码';
grant all privileges on kettle.* to kettle@localhost;
grant all privileges on kettle.* to kettle@'%';
flush privileges;