下载 jar 上传 # tar -xzvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
# mv mysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/mysql
#添加用户组 groupadd mysql #如果报错存在就,就不用添加了 #添加用户mysql 到用户组mysql useradd -g mysql mysql #如果报错存在就,就不用添加了
# mkdir data
# chown -R mysql:mysql ./
# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql-5.7.20/ --datadir=/usr/local/mysql-5.7.20/data/
# chown -R root .
# chown -R mysql data
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
cp /usr/local/mysql/bin/my_print_defaults /usr/bin/
#修改启动脚本 [root@instance_4dbde0 mysql]# vi /etc/init.d/mysqld #修改项: basedir=/usr/local/mysql/ datadir=/usr/local/mysql/data port=3306 #启动服务 [root@instance_4dbde0 mysql]# service mysqld start (如果启动报错,就看错误日志,错误日志的路径在my.cfg 中error.log) (有添加软连接、
从报错上来看,是由于缺少了mysql.plugin表所致的,不过现在连启动都启动不了,怎样创建表呢?所以肯定是其他原因导致的,于时继续网上找继续试,最后找到了这个处理方法,进入mysql安装后的目录scripts执行以下语句:
[root@localhost bin]# ./mysql_install_db --user=mysql --basedir=/home/mysql5627 --datadir=/usr/mysqldata
) #加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了 [root@instance_4dbde0 mysql]# vi /etc/profile #添加mysql路径 export PATH=$PATH:/usr/local/mysql-5.7.20/bin #刷新立即生效 [root@instance_4dbde0 mysql-5.7.20]# source /etc/profile
====================================================================================
下面是mysql 5.6 二进制文件安装
在这个 /data/mysql 路径下
tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
--连接路径 cd /usr/local --执行 ln -s /data/mysql mysql
-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限
--创建用户组 groupadd mysql --创建用户 useradd -r -g mysql -s /bin/false mysql
就是给上面创建的用户分配权限
cd /data/mysql chown -R mysql:mysql ./
当前所在路径是 /data/mysql.
./mysql_install_db --datadir=/data/mysql/data --basedir=/data/mysql --user=mysql
如果出错,报“/usr/bin/perl: bad interpreter: No such file or directory”,可以先安装perl脚本,命令如下:
yum -y install perl perl-devel yum install -y perl-Data-Dumper
完成后再执行上面初始化mysql脚本。。。。
默认配置文件所在位置 /etc/my.cnf,执行完步骤6的时候会默认生成一个配置文件
vi /etc/my.cnf
[mysqld] datadir=/data/mysql-5.6/data socket=/data/mysql-5.6/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd # 指定编码 character-set-server=utf8 collation-server=utf8_general_ci user=mysql [mysqld_safe] log-error=/var/log/mariadb/mariadb.log #可以改为其他路径,确保路径存在,并且mysql用户组有写入权限 pid-file=/var/run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d #指定客户端连接mysql时的socket通信文件路径 [client] socket=/usr/local/mysql/mysql.sock default-character-set=utf8
如果没有错误则启动成功
./support-files/mysql.server start
将mysql进程放入系统进程中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld
重启mysql
service mysqld restart
#第一次登陆没有密码,直接回车 在MySQL 的安装路径软连接 /usr/local/mysql/bin 下面执行 ./mysql -u root -p
如果有报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
[root@localhost bin]# ./mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件。
如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。
就这样执行
./mysql -uroot -h 127.0.0.1 -p
修改root密码
#newpass就是你的新密码
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
##远程访问权限
mysql> update user set host = '%' where user = 'root';
mysql> FLUSH PRIVILEGES;
如果报错,Warning: Using a password on the command line interface can be insecure.
在/etc/my.cnf 中加上
[mysqldump]
user=your_backup_user_name
password=your_backup_password
至此mysql安装阶段完成了。。
开启3306 端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:
zone #作用域
add-port=80/tcp #添加端口,格式为:端口/通讯协议
permanent #永久生效,没有此参数重启后失效
Step2:重启防火墙
[sunwei@test2 ~]$ sudo firewall-cmd --reload