Linux下Mysql数据库的安装以及若干问题的解决方案

来源:互联网 发布:数据上报出现异常 编辑:程序博客网 时间:2024/05/17 04:04

1.下载

Linux版Mysql的下载地址点击打开链接,建议下载通用版,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 到用户组mysqluseradd -g mysql mysql

4.安装

cd /usr/local/mysql/mkdir ./data/mysqlchown -R mysql:mysql ././scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysqlcp support-files/mysql.server /etc/init.d/mysqldchmod 755 /etc/init.d/mysqldcp 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#关闭mysqlservice mysqld stop#查看运行状态service mysqld status

#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了export PATH=$PATH:/usr/local/mysql//binsource /etc/profile

5.错误:

(1)

初始化默认数据库运行此命令:/usr/local/mysql/scripts/mysql_install_db--user=mysql --basedir=/usr/local/mysql/  

出现错误:
     FATALERROR: please install the following Perl modules before executing/usr/local/mysql/scripts/mysql_install_db:Data::Dumpe
解决方案:安装autoconf库  命令:yum -y install autoconf  //此包安装时会安装Data:Dumper模块



(2)错误: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

遇上-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的实际安装路径

(3)错误:输入mysql -uroot -p  时显示Access denied for user 'root'@'localhost' (using password:YES)”
解决方案:1、打开MySQL目录下的my.cnf文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。2、重启MySQL服务。3、在命令行中输入“mysql -uroot -p”(不输入密码),回车即可进入数据库。4、执行,“use mysql;”使用mysql数据库。5、执行,“update user set password=PASSWORD("123456") where user='root';”(修改root的密码)(期间我还select下user表中的记录,查询全部的时候显示了一些乱码,然后我只查询了user表中的Host、User、Password字段,貌似当时显示了3条记录,有1个没有名称。当然,为了解决问题,这些我也管不了了。)6、打开MySQL目录下的my.cnf文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。7、重启MySQL服务。8、在命令行中输入“mysql -uroot -p123456”,问题搞定!


(4)"Host '******' is not allowed to connect to this MySQL server

mysql -u root -pmysql>use mysql;mysql>update user set host =’%'where user =’root’;mysql>flush privileges;


阅读全文
0 0