Linux安装mysql数据库

来源:互联网 发布:淘宝达人怎么获得佣金 编辑:程序博客网 时间:2024/04/30 01:30
安装的mysql数据库是:mysql-5.6.4-m7,这个版本的数据库要用cmake工具安装。 

 cmake下载地址:http://www.cmake.org/cmake/resources/software.html
 
1、安装cmake 
可能回出现下面问题:
 
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:83 (MESSAGE):
 
Curses library not found. Please install appropriate package,
 
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on RedHat and derivates it is ncurses-devel.
 
Call Stack (most recent call first):
 
cmake/readline.cmake:136 (FIND_CURSES)
 
cmake/readline.cmake:226 (MYSQL_USE_BUNDLED_LIBEDIT)
 
CMakeLists.txt:262 (MYSQL_CHECK_READLINE)
 
按照下面内容提示的方法进行修改:
安装ncurses-devel这个包即可。
 
[root@localhost mysql-5.6.4-m7]# yum install ncurses-devel* 

[root@localhost mysql-5.6.4-m7]# rm CMakeCache.txt 
 
[root@localhost mysql-5.6.4-m7]#make
 
[root@localhost mysql-5.6.4-m7]#make install
 

 
[root@localhost tmp]# cd cmake-3.10.1/
 
[root@localhost cmake-2.8.9]# ./bootstrap
 
[root@localhost cmake-2.8.9]#make
 
[root@localhost cmake-2.8.9]#make install
 
 
 
如果要更新cmake 只需进入相关目录,执行
 
cmake.
 
make
 
make install
 
 
 
2、安装mysql
 
[root@localhost mnt]# cd mysql-5.6.4-m7/
 
[root@localhost mnt]# cmake .
 
 
 

  
 
3、安装默认的数据库
 [mysql@localhost mysql]$ cd scripts/
 
[mysql@localhost scripts]$ ls
 
[mysql@localhost scripts]$ /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

 
 
 
安装完后有这么一段提示,可以仔细看看:
 

To start mysqld at boot time you have to copy
 
support-files/mysql.server to the right place for your system
 
 
 
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
 
To do so, start the server, then issue the following commands: 
 
/usr/local/mysql//bin/mysqladmin -u root password 'new-password'
 
/usr/local/mysql//bin/mysqladmin -u root -h localhost.localdomain password 'new-password' 
 
Alternatively you can run: 
/usr/local/mysql//bin/mysql_secure_installation
 
which will also give you the option of removing the test
 
databases and anonymous user created by default. This is strongly recommended for production servers.
 
 See the manual for more instructions.
 
You can start the MySQL daemon with: 
cd /usr/local/mysql/ ; /usr/local/mysql//bin/mysqld_safe & 
 
You can test the MySQL daemon with mysql-test-run.pl
 
cd /usr/local/mysql//mysql-test ; perl mysql-test-run.pl
 
4、复制mysql配置文件和服务文件到系统配置路径下面
 
[root@localhost ~]# cd /usr/local/mysql/support-files/
 
[root@localhost support-files]# cp my-medium.cnf /etc/my.cnf
 
[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld
 
 
 
5、启动服务
 
[root@localhost init.d]# service mysqld start
 
 
 
 
 
6、增加mysql的root用户密码
 
 
 
[root@localhost init.d]# /usr/local/mysql//bin/mysqladmin -u root password 'mysql'
 
[root@localhost init.d]# /usr/local/mysql//bin/mysqladmin -u root -h localhost.localdomain (服务器)password 'mysql'
7、查看启动,看默认的安装路径
 
[root@localhost ~]# ps -ef | grep mysql
 
root 5038 1 0 21:54 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid (说明是root用户启动的进程)
 
mysql 5293 5038 1 21:54 pts/1 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid --socket=/tmp/mysql.sock --port=3306 (包含路径、端口等)
 
root 5324 4756 0 21:54 pts/1 00:00:00 grep mysql
 
 
 
 
 
8、设置软连接,添加mysql(基本命令), mysqldump(备份命令), mysqladmin(管理命令)到/usr/bins使其能在shell中直接运行
 
[root@localhost ~]#ln -s /usr/local/mysql/bin/mysql /usr/bin 
[root@localhost ~]#ln -s  /usr/local/mysql/bin/mysqldump /usr/bin
 [root@localhost ~]#ln -s  /usr/local/mysql/bin/mysqladmin /usr/bin
 
 
 
9、连接到数据库
 
[root@localhost ~]# mysql -u root -p
 mysql> GRANT ALL PRIVILEGES on *.* to 'root'@'%' identified by 'cattsoft';
 
 
出现error: 'Access denied for user 'root'@'localhost' (using password: NO)'解决方法:
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

 
方法一:
1.关闭mysql

   # service mysqld stop
2.屏蔽权限
   # mysqld_safe --skip-grant-table
   屏幕出现: Starting demo from .....
3.新开起一个终端输入
   # mysql -u root mysql
   mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
   mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
   mysql> \q

方法二:
1.关闭mysql
   # service mysqld stop
2.屏蔽权限
   # mysqld_safe --skip-grant-table
   屏幕出现: Starting demo from .....
3.新开起一个终端输入
   # mysql -u root mysql
   mysql> delete from user where USER='';
   mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
   mysql> \q 
 
对root用新帐号登陆重新授权:
 
mysql> GRANT ALL PRIVILEGES on *.* to 'root'@'%' identified by mysql;