1.安装mysql5.6依存包
注意:可以自行下载地址是 https://dev.mysql.com/downloads/mysql/5.6.html#downloads
2.下载编译包
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 下载
tar xvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 解压
3.复制到指定目录
mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
4.创建mysql用户和组
groupadd mysql
useradd -r -g mysql mysql -d /usr/local/mysql
passwd mysql
5.修改目录权限
chown -R mysql:mysql /usr/local/mysql
6.安装数据库
su mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
exit;
当执行su mysql 安装数据库时 linux新建用户切换后显示 -bash-4.1$(切换用户时)
终端中显示 -bash-4.1$而不是 [mqm@locahost~] 据说是因为缺少配置文件。
将/etc/skel中的文件全部复制到/var/mqm/之后,问题就得到了解决。 操作如下
cp -a /etc/skel/. /usr/local/mysql -a表示复制隐藏文件
(这里可能会报错:/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data,需要安装perl以及perl-devel.执行命令:yum–y install perl perl-devel )
7.复制mysql配置文件
cd /usr/local/mysql/support-files
cp my-default.cnf /etc/my.cnf
8.添加系统服务
cp mysql.server /etc/init.d/mysql
chkconfig mysql on
9.添加环境变量
vim /etc/profile
在最下面添加
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"
保存退出后,执行生效代码
. /etc/profile
10.启动mysql
service mysql start
11.设置root密码
mysqladmin -u root password '123456'
12.设置默认端口
vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
server_id=1
socket=/tmp/mysql.sock
13.允许所有外部链接访问(可选)
mysql -u root -p
mysql命令行输入
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
以下是配置mysql数据库
一、查看mysql数据库
mysql -u root -p
输入密码进入数据库。
show databases; 查看数据库
默认下有三个数据库 test、mysql、information_schema .
mysql 数据库是Mysql数据的核心。test是测试库,删掉也可以。数据库INFORMATION_SCHEMA:提供了访问数据库元数据的方式。
二、新建数据库用户及赋予权限。
MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。
( 1 )、 在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户:
1、 GRANT ALL PRIVILEGESON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' ;
数据库:
*.* 表示所有库的所有表
test.* 表示test库的所有表
test.test_table 表示test库的test_table表
( 2 )、授予username用户在所有数据库上的所有权限。
如果此时发现刚刚给的权限太大了,如果我们只是想授予它在某个数据库上的权限,那么需要切换到root 用户撤销刚才的权限,重新授权:
EVOKE ALL PRIVILEGESON *.* FROM 'username'@'localhost';
GRANT ALL PRIVILEGESON my_web_db.* TO 'username'@'localhost' IDENTIFIED BY 'password';
(3)、甚至还可以指定该用户只能执行 select 和 update 命令:
GRANT SELECT, UPDATE ON my_web_db.* TO 'username'@'localhost' IDENTIFIED BY 'password';
这样一来,再次以username登陆 MySQL,只有my_web_db数据库是对其可见的,并且如果你只授权它select权限,那么它就不能执行delete 语句。
注意: (但是当用户权限可以外部访问的时候,test库和information_schema 都是可见的,并且可以修改。)
另外每当调整权限后,通常需要执行以下语句刷新权限:
FLUSH PRIVILEGES;
删除刚才创建的用户:
DROP USER username@localhost;
仔细上面几个命令,可以发现不管是授权,还是撤销授权,都要指定响应的host(即 @ 符号后面的内容),因为以上及格命令实际上都是在操作mysql 数据库中的user表,可以用如下命令查看相应用户及对应的host:
SELECT User, Host FROM user;
;
关闭远程访问:
use mysql;
update user set host = 'localhost' where user = 'root' and host= '%';
flush privileges;
查看用户权限:
use information_schema;
select * from user_privileges;
查看当前mysql用户:
use mysql;
select user, host from user;
更新用户:
update mysql.user set password=password('新密码') where User='phplamp' and Host='localhost';
flush privileges;
删除用户:
DELETE FROM user WHERE User='phplamp' and Host='localhost';
flush privileges;
三、用SQLyog软件创建用户。
注意:安装Mysql 5.7数据库请参照:https://www.cnblogs.com/coderls/p/6848873.html
安装Mysql8.0的数据库请参照:https://blog.csdn.net/hhppppppp/article/details/97801719