mysql linux上安装mysql

mysql在linux下的安装
安装环境:系统是 centos6.5


1、下载


    下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads


    下载版本:我这里选择的5.6.33,通用版,linux下64位


    也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz


2、解压


#解压
tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
#复制解压后的mysql目录
cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
3、添加用户组和用户


#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql
4、安装




cd /usr/local/mysql/<br>mkdir ./data/mysql
chown -R mysql:mysql ./
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
安装可能出现错误:
-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory


貌似提示注释器错误,没有/usr/bin/perl文件或者档案,解决办法(安装perl跟perl-devel即可):


执行  yum -y install perl perl-devel
    FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
    Data::Dumper


#解决方法:
yum install -y perl-Data-Dumper


cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cp support-files/my-default.cnf /etc/my.cnf
 
#修改启动脚本
vi /etc/init.d/mysqld
 
#修改项:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql
 
#启动服务
service mysqld start
启动mysql服务
#创建缺少的文件夹
mkdir /var/log/mariadb   并给增加权限 chown -R mysql:gMysql /var/log/mariadb
service mysql start
 
#测试连接
./mysql/bin/mysql -uroot
 
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
export PATH=$PATH:/usr/local/mysql//bin<br>source /etc/profile
 
 
#启动mysql
service mysqld start
#关闭mysql
service mysqld stop
#查看运行状态
service mysqld status


mysql启动报file don't exists
安装mysql为mysql-5.6.36-linux-glibc2.5-x86_64
service mysql start
错误信息:
Starting MySQL.170623 10:57:50 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).


卸载插件mariadb后,重新安装还是报上面的错误信息


mkdir -p /var/log/mariadb/
cd /var/log/mariadb/
touch mariadb.log
chmod -R 775 mariadb.log
chown -R mysql:mysql mariadb.log
5、错误


  5.1 sqlyog连接时,报1130错误,是由于没有给远程连接的用户权限问题


    解决1:更改 ‘mysql’数据库‘user’表‘host’项,从‘localhost’改成‘%’。


use mysql;
select 'host' from user where user='root'; 
update user set host = '%' where user ='root';
flush privileges; 
    解决2:直接授权


      GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;


  5.2 安装时的一些错误


    -bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录
    解决: yum -y install perl perl-devel


    Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    解决:yum -y install libaio-devel


6、其他


  6.1 配置环境变量


    vi + /etc/profile


    export PATH=....:/usr/local/mysql/bin




=================== 这是分割线 ==================


通过使用 mysql -uroot -p 连接数据库(默认数据库的root用户没有密码,这个需要设置一个密码)。


错误信息:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)


解决方法:打开/etc/my.cnf,看看里面配置的socket位置是什么目录。“socket=/var/lib/mysql/mysql.sock”


路径和“/tmp/mysql.sock”不一致。建立一个软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock


 到这里任务算是完成了。之后就可以创建数据库用户,然后使用数据库了


权限控制


1、去除匿名用户


# 测试匿名用户登录
mysql -ux3


show databases;


可以看到匿名用户可以登录,具有information_schema和test库的相关权限。


# 删除匿名用户,使用root用户登录数据库
delete from mysql.user where User='';
flush privileges;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值