准备工作
tar安装包:默认已经下载好mysql 安装包,名称为: mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz ,我的安装包位置:/root 。我服务器没有网络,只能通过sftp上传。
安装位置:mysql程序安装路径为:/usr/local/mysql ,数据库路径为:/usr/local/mysql/data。路径可以修改,只要批量把脚本中的路径替换即可。
全自动脚本
只需要全选Copy脚本,在Linux上Paste 。
#创建mysql用户组 groupadd mysql #创建一个用户名为mysql的用户并加入mysql用户组 useradd -g mysql mysql #制定password 为123456 passwd mysql #我安装到/usr/local tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql cd /usr/local #更改所属的组和用户 chown -R mysql mysql/ chgrp -R mysql mysql/ cd mysql/
#数据库路径 mkdir data chown -R mysql:mysql data
mv /etc/my.cnf /etc/my.cnf.back
#写入配置
cat>> /etc/my.cnf<<EOF [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] skip-name-resolve #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/data pid-file=/usr/local/mysql/data/mysql.pid # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB lower_case_table_names=1 max_allowed_packet=16M EOF
#安装和初始化 # 注data目录中不能有文件
bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
#安装服务 cp ./support-files/mysql.server /etc/init.d/mysqld chown 777 /etc/my.cnf chmod +x /etc/init.d/mysqld # 启动服务 /etc/init.d/mysqld start
#设置开机启动 chkconfig --level 35 mysqld on chkconfig --list mysqld chmod +x /etc/rc.d/init.d/mysqld chkconfig --add mysqld chkconfig --list mysqld service mysqld status #登录mysql
/usr/local/mysql/bin/mysql -uroot -p
#配置配置环境etc/profile/ 用于mysql登录
sed -i '/unset i/a export PATH=$PATH:/usr/local/mysql/bin' /etc/profile
source /etc/profile
#到此mysql安装完成
修改密码
#获得初始密码 cat /root/.mysql_secret # Password set for user 'root@localhost' at 2017-04-17 17:40:02 K<?5W7e7?5Iq
/usr/local/mysql/bin/mysql -uroot -p
修改密码
mysql> set PASSWORD = PASSWORD('111111');
添加远程访问权限
mysql> use mysql
mysql> update user set host='%' where user='root';
mysql> select host,user from user;
其时我不太喜欢输入初始化的密码,里面有符号数字等大小写问题,输入比较累。可参考在忘记密码,直接修改成自己喜欢的。