mysql.dcp_mysql在linux下的安装

本文档详细介绍了在Linux环境下安装MySQL 5.6的步骤,包括下载、解压、添加用户组和用户、安装数据库、启动服务以及设置环境变量。还解决了启动时的错误,如perl依赖和libaio库缺失的问题。此外,针对MySQL 5.7.1版本,解释了由于密码复杂度要求导致的重置密码需求,并提供了重置和设置远程访问权限的方法。最后,提到了使用general_log跟踪数据库操作的配置方法。
摘要由CSDN通过智能技术生成

1、下载

下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

下载版本:这里选择的5.6.33,通用版,linux下64位

也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

2、解压

#解压

tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

#复制解压后的mysql目录

cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql

3、添加用户组和用户

#添加用户组

groupadd mysql

#添加用户mysql 到用户组mysql

useradd -g mysql mysql

4、安装

cd /usr/local/mysql/

mkdir ./data/mysql

chown -R mysql:mysql ./

./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

cp support-files/my-default.cnf /etc/my.cnf

#修改启动脚本

vi /etc/init.d/mysqld

#修改项:

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/mysql

#启动服务

service mysqld start

#测试连接

./mysql/bin/mysql -uroot

#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了

export PATH=$PATH:/usr/local/mysql//bin

source /etc/profile

#启动mysql

service mysqld start

#关闭mysql

service mysqld stop

#查看运行状态

service mysqld status

5、错误

5.1 sqlyog连接时,报1130错误,是由于没有给远程连接的用户权限问题

解决1:更改 ‘mysql’数据库‘user’表‘host’项,从‘localhost’改成‘%’。(会导致root在服务器本地登陆失败)

use mysql;

select 'host' from user where user='root';

update user set host = '%' where user ='root';

flush privileges;

解决2:直接给某个用户进行授权:(此处给mysql授权)

GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

5.2 安装时的一些错误

-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录

解决: yum -y install perl perl-devel

Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决:yum -y install libaio-devel

6、其他

6.1 配置环境变量

vim /etc/profile

#mysql

export PATH=$PATH:/usr/local/mysql/bin

source /etc/profile

1、chmod a+x /etc/init.d/mysqld

通过该脚本对mysql服务进行测试,命令如下:

service mysqld start //启动service mysqld stop //停止

2.将mysql服务加入chkconfig管理列表,命令如下:

chkconfig --add mysqld

3.设置终端模式开机启动,命令如下:

chkconfig mysqld on

5.shutdown -r now 重启电脑

6.netstat -na | grep 3306,如果看到有监听说明服务启动了

数据库重置密码

如果MySQL数据库用户的密码设置过于简单,数据库在用户登录后会提示重置密码,并且不接受简单的密码。

提示需要重置密码:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

Mysql数据库版本:5.7.1

操作系统:CentOS 7

这个问题是否奇怪,因为明明是刚刚用密码登录了mysql服务器。怎么要重置密码呢?因为密码太简单了,不符合MySQL的安全要求。

参考官方的文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。重置用户密码操作:

mysql> SET PASSWORD = PASSWORD('123456');   //123456 是重置的新密码

以上操作后又遇到新问题:

ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。

又参考了官方文档,见http://dev.mysql.com/doc/refman/5.7/en/validate-password-plugin.html。

应该是密码过于简单了。 后来用大写字母+数字+特殊字符混合了一个密码。重置密码成功!

以后操作,没有再出现上述问题。

注意:如果只想设置简单密码需要修改两个全局参数:

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

远程连接:

1.设置root可以远程连接

(会导致本地服务root用户登陆不上)

update `user` set Host = '%' where User = 'root' and Host = 'localhost';

flush privileges; 或者重启服务 sudo service mysqld restart

2.设置一个账户可以远程连接

1)新建用户imooc,密码为123456

CREATE USER 'imooc'@'%' IDENTIFIED BY '123456';

2)赋予权限

GRANT ALL PRIVILEGES ON *.* TO 'imooc'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

GRANT select,insert,update,delete ON *.* TO 'imooc'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

FLUSH PRIVILEGES;

3)收回权限

REVOKE ALL PRIVILEGES ON *.* FROM imooc;

FLUSH PRIVILEGES;

忘记root 密码

在 /etc/my.cnf 加入 skip-grant-tables

use mysql;

update user set authentication_string=password('456789') where user='root';

MySQL开启general_log跟踪数据执行过程

# 设置general log保存路径

# 注意在Linux中只能设置到 /tmp 或 /var 文件夹下,设置其他路径出错

# 需要root用户才有访问此文件的权限

mysql> set global general_log_file='/tmp/general.log';

# 开启general log模式

mysql> set global general_log=on;

# 关闭general log模式

mysql>set global general_log=off;

在general log模式开启过程中,所有对数据库的操作都将被记录 general.log 文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值