Linux下安装MySql
Linux安装mysql
校验当系统是否安装mysql:
rpm -qa | grep mysql
已经安装
卸载mysql:
rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 (查看到的选项) // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
安装mysql:
三行命令:
yum install mysql
yum install mysql-server
yum install mysql-devel
也可以一行:
yum install -y mysql mysql-server mysql-devel
效果:
启动mysql:
service mysqld start
效果:
注意:
如果是 CentOS 7 版本,由于 MySQL数据库已从默认的程序列表中移除,可以使用 mariadb 代替:
yum install mariadb-server mariadb
mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动
验证mysql安装:
在成功安装Mysql后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证Mysql是否工作正常。
使用 mysqladmin 工具来获取服务器状态:
使用 mysqladmin 命令俩检查服务器的版本,在linux上该二进制文件位于 /usr/bin on linux .
测试命令:
cd /usr/bin
mysqladmin --version
效果:
使用 Mysql客户端
你可以在 MySQL Client(Mysql客户端) 使用 mysql 命令连接到Mysql服务器上,默认情况下Mysql服务器的密码为空,所以本实例不需要输入密码。
命令如下:
mysql
效果:
Mysql安装后需要做的
Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:
mysqladmin -u root password "root"
现在你可以通过以下命令来连接到Mysql服务器:
mysql -u root -p
Enter password:*******
注意:在输入密码时,密码是不会显示了,你正确输入即可。
开启mysql远程访问:
链接mysql出错,因为没有开启远程访问!!!
使用mysql表,先查看原始权限数据:
更新权限:
刷新更新好的权限配置:flush privileges
可以使用了:
每条user数据都设置相同密码:
出现乱码:
查原因:
mysql> show variables like 'character%';
给客户端使用的编码不是utf8,解决:
修改mysql的配置:
default-character-set=utf8
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8
解释:
前两句是给server修改默认编码,后两句是设定client的默认编码。
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)。
重启mysql服务测试:
出现原来的密码无法登陆mysql:
修改密码:
修改配置文件在mysqld下方:skip-grant-tables
重启服务:
修改mysql数据库下user表root用户的密码 (password(‘root123’)密码加密),最后更新权限;
删除刚才在配置文件中的跳过密码设置,并重启mysql服务,测试密码:
还是无法通过:原因在于user表中出现没有数据的空用户,删除他们在重启服务就可以了
删除之后测试:
其他:
如果开启远程访问失败,尝试以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
flush privileges;
设置开机启动:
查看mysql是否开机启动
chkconfig --list | grep mysqld
开启mysql开机启动
chkconfig mysqld on