请尊重他人的劳动成果,转载请务必注明出处.谢谢!
下载tar包:
wget -c http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz wget是一个从网络上自动下载文件的自由工具,它支持HTTP、HTTPS和FTP协议。 -c : 接着下载没下载完的文件,允许断点续传,对应的详细参数名是 --continue -P : 将文件保存到指定目录,对应的详细参数名是 --directory-prefix
安装需要的工具
yum install -y perl-Module-Install.noarch
解压文件
tar -zxvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz mv mysql-5.7.15-linux-glibc2.5-x86_64 /usr/local/mysql tar备份,压缩与解压缩,Linux命令,也是一个工具 -z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压 -x : 从 tar 包中把文件提取出来 -v : 显示详细信息 -f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz
添加用户组及用户
groupadd mysql 新建用户组 useradd -r -g mysql mysql -d /usr/local/mysql useradd 命令用来建立用户帐号和创建用户的起始目录,该命令使用权限是终极用户。新建用户密码为空 -g : 指定用户所属的起始群组。 -d : 指定用户登入时的启始目录。 -s : 指定用户登入后所使用的shell。-s /sbin/nologin 是不让登录shell -g后第一个mysql是组名,第二个mysql是新建的用户名,新建用户信息可在/etc/passwd文件中查到 passwd mysql 回车设置密码 chmod -R 777 /usr/local/mysql 设置目录权限 chown -R mysql:mysql /usr/local/mysql 设置用户及组 chown 命令 更改某个文件或目录的属主和属组。 -R : 递归式地改变指定目录及其下的所有子目录和文件的拥有者。 -v : 显示chown命令所做的工作。 mysql:mysql,第一个mysql是用户名,第二个mysql是组名
安装数据库
su mysql 切换分组 /usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user : 所指定的用户是想要运行mysqld进程用户名 exit 退出分组 cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 配置文件如果有回车覆盖 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 启动服务文件 vim /etc/init.d/mysql 配置文件 若mysql的安装目录是/usr/local/mysql,则可省略此步 basedir=/usr/local/mysql datadir=/usr/local/mysql/data
开机启动
chkconfig --add mysql chkconfig mysql on
配置环境变量
vim /etc/profile export MYSQL_HOME=/usr/local/mysql export PATH=$PATH:$MYSQL_HOME/bin
生效设置
. /etc/profile 或 source /etc/profile
设置mysql密码
service mysql start service mysql stop mysqld_safe --skip-grant-tables & 输入 mysql -uroot -p 回车进入 use mysql update user set authentication_string=password('123456') where user='root'; flush privileges; exit;
登录
mysql -uroot -p123456 SET PASSWORD = PASSWORD('123456'); ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; flush privileges; quit;
允许远程登录
mysql -uroot -p123456 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; root 密码 123456 添加防火墙(CentOS7) firewall-cmd --zone=public --add-port=3306/tcp --permanent 开启防火墙mysql3306端口的外部访问 CentOS升级到7之后,使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口 --zone : 作用域,网络区域定义了网络连接的可信等级。这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接 --add-port : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp --permanent : 永久生效,没有此参数系统重启后端口访问失效 firewall-cmd --reload 重启防火墙 给来自192.168.155.1的用户user1分配可对数据库dbname的tablename表进行SELECT,INSERT,UPDATE,DELETE,CREATE,DROP等操作的权限,并设定密码为123456。 对表操作权限还有好多如ALTER等 mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON dbname.tablename TO 'user1'@'192.168.155.1' IDENTIFIED BY '123456'; 给来自192.168.155.1的用户user2分配可对数据库dbname所有表进行所有操作的权限,并设定口令为123456。 mysql>GRANT ALL PRIVILEGES ON dbname.* TO 'user2'@'192.168.155.1' IDENTIFIED BY '123456'; 给来自192.168.155.1的用户user3分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。 mysql>GRANT ALL PRIVILEGES ON *.* TO 'user3'@'192.168.155.1' IDENTIFIED BY '123456'; 给本机用户user4分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。 mysql>GRANT ALL PRIVILEGES ON *.* TO 'user4'@'localhost' IDENTIFIED BY '123456';