1.下载mysq的repo源
wget http://repo.mysql.com/mysql-community-release-e17-5.noarch.rpm
2.安装mysql-community-release-e17-5.noarch.rpm包
sudo rmp -ivh mysql-community-release-e17-5.noarch.rpm
安装这两个包后,会获得两个MySQL的yum repo源:
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
3.安装MySQL
sudo yum install mysql-server mysql-client libmysqlclient-dev mysql-devel
MySQL-python(与上面那一行连着写)
如果上面遇到问题:
看下服务开没 systemctl status mysqld
4.初始化:
mysql_install_db
5.设置密码
方式一(SET PASSWORD 命令):
mysql -u root
SET PASSWORD FOR 'root'@'localhost'=PASSWORD('新密码');
方式二(使用mysqladmin):
mysqladmin -u root password '新密码'
如果root已经设置过密码,采用以下方法:
mysqladmin -u root password 旧密码 '新密码'
方式三(使用update直接编辑user表):
mysql -u root
use mysql
UPDATE user SET PASSWORD = PASSWORD('新密码') WHERE user = 'root';
忘记密码:
mysql_safe --skip-grant-tables
mysql -u root myql
UPDATE user SET PASSWORD = PASSWORD('新密码') WHERE user = 'root';
FLUSH PRIVILEGES;
设置utf-8编码:
在 vi/etc/my.cnf:
# 在文件中[mysqld]下面增加一行:
character_set_server = utf8
# 重启生效
systemctl restart mysqld
重启命令:
server mysqld restart
MySQL服务:
1.启动命令:
/bin/systemctl start mysqld.service
2.关闭命令
/bin/systemctl stop mysqld.service
3.重启命令
/bin/systemctl restart mysqld.service
4.查看状态
/bin/systemctl status mysqld.service
查看系统配置文件:
cat etc/my.cnf
报错:
mysql Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
错误原因:/var/lib/mysql目录中socket文件不存在。
连接mysql服务器有两种方式:tcp连接,通过socket文件连接。通过socket文件,启动mysql服务,mysql服务会自动生成一个sock文件,生成的sock文件默认放在 --datadir=/var/lib/mysql,mysql默认从/var/lib/mysql目录读取sock文件。
解决办法:
1、看看/var/lib/mysql/mysql 有没有mysql.sock文件
2、没有mysql.sock,重启mysql服务,看看有没有。
3、没有的话,ps aux|grep mysql|grep -v 'grep' 查看mysql服务生成的sock在哪个目录,看看这个目录有没有。
4、如果mysql服务生成在其他目录,解决办法有:
方法一、修改mysql服务生成的目录,在my.cnf 中[mysqld] socket
方法二、mysql从/var/lib/mysql/读取sock文件,建立一个软连接,或者copy过来
方法三、修改mysql读取的目录,在my.cnf 中[mysql] socket
方法四、启动指定socket,mysql -uroot -p123456 --socket='/var/lib/mysql/mysql.sock'
注意:
1、通过socket,只能在本地机器上连接。
2、使用-hlocalhost就是经过socket,不经过网络,通过netstat 看不到tcp连接,可以认为mysql与mysql.sock文件交互,向里面写数据,从里面读取数据。
3、使用-h127.0.0.1就是经过tcp,通过netstat 可以看到连接。
启动mysql 报错:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
1、先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.
另外看看是不是权限问题.
2、确定你的mysql.sock是不是在那个位置,
mysql -u 你的mysql用户名 -p -S /var/lib/mysql/mysql.sock
3、试试:service mysqld start
4、如果是权限问题,则先改变权限 #chown -R mysql:mysql /var/lib/mysql
[root@localhost ~]# /etc/init.d/mysqld start
启动 MySQL: [ 确定 ]
[root@localhost ~]# mysql -uroot -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
原因是,/var/lib/mysql 的访问权限问题。
shell> chown -R mysql:mysql /var/lib/mysql
接着启动服务器
shell> /etc/init.d/mysql start
服务器正常启动后察看 /var/lib/mysql 自动生成mysql.sock文件。
chown -R mysql:mysql ./及chown详解
当我们在不通过yum(CentOS<redhat>)、apt-get(Ubuntu<debian>)来安装MySQL的时候,通常执行以下命令来改变目录的拥有者:
[root@localhost ~]# chown -R mysql:mysql ./
那?这两个mysql谁是用户名谁是用户组呢?见chown详解
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。
1.命令格式:
chown [选项]... [所有者][:[组]] 文件...
2.命令功能:
通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
3.命令参数:
必要参数:
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
-deference 作用于符号链接的指向,而不是链接文件本身
选择参数:
--reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组
--from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变
--help 显示帮助信息
--version 显示版本信息