下载mysql数据库:
https://download.csdn.net/download/wangyongchao880622/10864721
也可以到mysql官网下载,官网下载太慢了。
一、解压文件到当前目录
命令:tar -zxvf mysql....tar.gz
二、移动解压完成的文件夹到目标目录并更名mysql
命令:mv mysql-版本号 /usr/local/mysql
添加系统mysql组和mysql用户
添加系统mysql组
sudo groupadd mysql
添加mysql用户
sudo useradd -r -g mysql mysql
添加完成后可用id mysql查看
然后进入/usr/local/mysql目录
设置mysql用户组对该文件夹操作权限
命令:chown -R mysql:mysql ./
查看/etc/my.cnf 是否存在,如果存在删除掉
查看命令: ls /etc/my.cnf
删除命令: rm /etc/my.cnf
初始化数据库
命令:./scripts/mysql_install_db --user=mysql
注:如果执行此命令报如下错误
需安装yum包
命令:yum -y install perl perl-devel
安装完成重新执行初始化数据库命令
然后进入support-files文件夹
拷贝my-default.cnf到/etc下更名为my.cnf
命令:cp my-default.cnf /etc/my.cnf
拷贝启动文件mysql.server到/etc/rc.d/init.d下并更名为mysql
命令: cp mysql.server /etc/rc.d/init.d/mysql
然后配置mysql开机自启动
进入/etc/init.d目录
给mysql赋可执行权限
命令:chmod +x mysql
添加服务
命令:chkconfig --add mysql
查看服务列表
命令:chkconfig --list
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入
chkconfig --level 345 mysql on
重启电脑
检查监听查看是否服务启动
命令:netstat -na |grep 3306
mysql 的守护进程是mysqld
[root@localhost ~]# service mysqld start
启动 MySQL: [确定]
登录mysql 初始 密码是空
mysql -u root -p
如果出现登录不成功
错误:
root@DB-02 ~]# mysql -u root
-bash: mysql: command not found
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
# ln -s /usr/local/mysql/bin/mysql /usr/bin
再次登录yingg
以下是补充:
linux下,在mysql正常运行的情况下,输入mysql提示:
mysql command not found
遇上-bash: mysql: command not found的情况别着急,这个是因为/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决:
把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下:
# cd /usr/local/bin
# ln -fs /MYSQLPATH/bin/mysql mysql
还有其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决。
注:其中MYSQLPATH是mysql的实际安装路径
初始化完成后,mysql密码一直是空,showdatabase 数据库就2个 发现没有mysql数据库,也就改不了root的密码。
所以在 ect/my.cnf 中添加
出现这个问题:
[rootwyc@localhost ~]$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方法 :
https://www.cnblogs.com/duanrantao/p/8988116.html
https://blog.csdn.net/heatdeath/article/details/78907563
ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock
最后出现
update mysql.user set password=password('root') where user='root';
flush privileges;
开启远程连接
https://www.cnblogs.com/chenjw-note/p/5887908.html
关闭防火墙 要不然连接不了
https://www.cnblogs.com/qstudy/p/Linux.html
查看状态:systemctl status firewalld
关闭防火墙:systemctl stop firewalld
启用 systemctl enable iptables
打开防火墙:systemctl start firewalld
查看selinux状态:getenforce