Centos 7 安装Mysql
#在/usr/local下创建mysql目录,用于保存 mysql程序文件
mkdir /usr/local/mysql
将mysql-5.5.47-linux2.6-x86_64.tar上传到/usr/software目录,再解压后移动到 /usr/local/mysql目录下
cd /usr/software/
tar -xvf ./mysql-5.5.47-linux2.6-x86_64.tar
mv ./mysql-5.5.49-linux2.6-x86_64/* /usr/local/mysql
新建用户
groupadd mysql
useradd -g mysql -s /usr/sbin/nologin mysql #不让mysql用户直接登录
chown -R mysql:mysql /usr/local/mysql/
复制配置文件
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
设置权限
chmod +x /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
# 配置开机自动启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
chkconfig --list mysqld #查看是否已应用上
# 添加MySQL的软链接以适应init脚本, 配置环境变量
ln -sv /usr/local/mysql/bin/mysql /usr/sbin/mysql
ln -sv /usr/local/mysql/bin/mysqladmin /usr/sbin/mysqladmin
ln -sv /usr/local/mysql/bin/mysqldump /usr/sbin/mysqldump
# 修改配置文件
vim /etc/my.cnf
# 在 [mysqld] 节点中添加
datadir = /usr/local/mysql/data #数据文件的位置
log-error = /usr/local/mysql/data/error.log #日志
pid-file = /usr/local/mysql/data/mysql.pid #进程编号
user = mysql #用户名
tmpdir = /tmp
# 保存退出
# 初始化数据库
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
如果失败说明依赖包没有安装
安装依赖包
yum install ncurses-devel -y
#启动mysql服务, 因为已经安装了mysqld服务到 chkconfig,所以可以直接启动
service mysqld start
# 修改root密码
/usr/local/mysql/bin/mysqladmin -u root -p password “xxx”
如果无法修改密码则:
1.进入Mysql中修改:
mysql
进入Mysql界面
use mysql
update user set password=password(‘xxx’) where host=‘localhost’ and user=‘root’;
2.#vim /etc/my.cnf
a.在文档内搜索mysqld定位到[mysqld]文本段:
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
保存文档并退出
b.接下来我们需要重启MySQL:
service mysqld restart
c.重启之后敲入 mysql -u root -p 命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中
用sql语句修改密码如下:
mysql> update user set password=password(“你的新密码”) where user=“root”;
mysql> flush privileges;
mysql> quit
d.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!
#请在阿里云中登录mysql服务器
# mysql -uroot -p
#在mysql中修改user表,以允许远程登录
#注意: user表中有两个字段: host 原值为localhost user 原值 root
它表示 root用户只能在本地登录,我们要修改它
update user set host=’%’ where host=‘localhost’ and user=‘root’
修改完后,退出 mysql,
#重启mysql服务
service mysqld restart
#最后在阿里云 添加安全组规则,打开 3306端口,以便远程访问( 上线后的产品服务器要关闭3306 )
#最后,在本地客户端测试联接mysql服务器.