参考资料:http://www.cnblogs.com/ycsfwhh/archive/2012/08/07/2626597.html
1、下载tar包,这里使用wget从官网下载
# cd /usr/local
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
2、将mysql安装到/usr/local/mysql下
2.1解压
tar -xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
2.2 重命名
mv /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql
2.3、新建data目录
mkdir /usr/local/mysql/data
3、新建mysql用户、mysql用户组
3.1 mysql用户组
groupadd mysql
3.2 mysql用户
useradd mysql -g mysql
3.3、将/usr/local/mysql的所有者及所属组改为mysql
chown -R mysql:mysql /usr/local/mysql
4.配置
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
# 如果出现以下错误:
1、
是因为/etc/my.cf这个文件的字符集出现错误,改为utf8
2、如果出现一下错误2
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
则执行以下命令:
yum -y install numactl
完成后继续安装:
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
3.如出现问题3则:
编辑/etc/my.cnf
6.开启服务
将mysql加入服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
开机自启
chkconfig mysql on
开启
service mysql start
7、设置密码
登录(由于/etc/my.cnf中设置了取消密码验证,所以此处密码任意)
# mysql -hlocalhost -uroot -p
–如果出现:-bash: mysql: command not found
–就执行: # ln -s /usr/local/mysql/bin/mysql /usr/bin --没有出现就不用执行则可以使用下面的命令登录
/usr/local/mysql/bin/mysql -u root -p
切记不要忘记安装时的临时密码
切记不要忘记安装时的临时密码
切记不要忘记安装时的临时密码
否则会报错
【当然如果忘记的话】可以按一下方法解决
1、重启mysql
/etc/init.d/mysql restart
2、重新登录
3、修改密码
>>update user set authentication_string=password('你的密码') where user='root';
或者是: set password=password("root");
>>flush privileges;
>>exit;
4、重启mysql
/etc/init.d/mysql restart
5、重新登录mysql【输入刚才修改过的密码】
6、删除/etc/my.cnf文件中的免密登录语句
**
7、密码修改成功,重新登录完毕
设置外网可以访问权限:
1、登录MySQL
1.2 alter user 'root'@'localhost' identified by'.root';
或者是ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
如果遇到下面的问题:
mysql> alter user 'root'@'localhost' identified by'.root';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)```
然后执行一下`FLUSH PRIVILEGES;` `
1.2.1、或者是【具体看自己当时的环境吧】
mysql> alter user 'root'@'localhost' identified by'.root';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
mysql> select user,host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| server | % |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
4 rows in set (0.00 sec)
mysql> alter user 'root'@'%'identified by'.root';
Query OK, 0 rows affected (0.01 sec)
1.3 grant all privileges on *.* to 'root'@'%' identified by 'root';
2、选择数据库 use mysql;
3、修改host update user set host='%' where user = 'root';
4、刷新MySQL的系统权限相关表 flush privileges;
然后推出既可
使用数据库管理工具尝试连接MySQL
现在可以登录成功
现在可以登录成功
现在可以登录成功
截至到这里就全部ok了,具体mysql的语法及使用就不详细说明了
因为遇到了错误
ERROR [42000] [MySQL][ODBC 8.0(w) Driver][mysqld-5.7.26]You have an error in your SQL syntax; check the manual that corr
所以在此小编希望再加一步骤:
要在mysql里面执行:
SET GLOBAL sql_mode='ansi';
否则执行数据源直接访问表时,会报ODBC mysql 语法错误:
祝你好运!!!!
小编在此收藏