Ubuntu Linux上安装配置Mysql

时间:2022-04-10 17:10:21

一、安装:

三种安装方式:

  1. 从网上安装 sudo apt-get install mysql-server。装完已经自动配置好环境变量,可以直接使用mysql的命令。

    注:建议将/etc/apt/source.list中的cn改成us,美国的服务器比中国的快很多。

经测试,总是连接不成功。最后直接到官网下载MySQL APT Repository (mysql-apt-config_0.2.1-1ubuntu14.04_all.deb),然后安装,可以成功,网址:http://dev.mysql.com/downloads/repo/apt/

然后执行以下命令:

 1 #1、根据不同版本linux,不同包 
 2 #For example, for version 1.5 of the package for Debian 7.0, the command is:
 3 sudo dpkg -i mysql-apt-config_0.1.5-1debian7_all.deb 
 4 #For version 1.5 of the package for Ubuntu 12.04 LTS, the command is:
 5 sudo dpkg -i mysql-apt-config_0.1.5-1ubuntu12.04_all.deb  
 6 #For version 1.5 of the package for Ubuntu 14.04 LTS, the command is:
 7 sudo dpkg -i mysql-apt-config_0.1.5-1ubuntu14.04_all.deb 
 8 
 9 #2、更新
10 sudo apt-get update
11 
12 #3、安装
13 sudo apt-get install mysql-server

 

  2. 安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.gz为例。

  3. 二进制包安装:安装完成已经自动配置好环境变量,可以直接使用mysql命令

网上安装和二进制包安装比较简单,重点说安装离线包。

  1) groupadd mysql

  2. mkdir /home/mysql

  3. useradd -g mysql -d /home/mysql mysql

  4. copy mysql-5.0.45-linux-i686-icc-glibc23.tar.gz到/usr/local目录

  5. 解压:tar zxvf mysql-5.0.45-linux-i686-icc-glibc23.tar.gz

  6. ln -s mysql-5.0.45-linux-i686-icc-glibc23 mysql

  7. cd /usr/local/mysql

  8. chown -R mysql .

  9. chgrp -R mysql .

  10. scripts/mysql_install_db --user=mysql (一定要在mysql目录下执行,注意输出的文字,里边有修改root密码和启动mysql的命令)

  11. 为root设置密码: ./bin/mysqladmin -u root password 'passw0rd'

 

二、配置:

一旦安装完成,MySQL 服务器应该自动启动。

sudo start mysql #手动的话这样启动
sudo stop mysql #手动停止

当你修改了配置文件後,你需要重启 mysqld 才能使这些修改生效。

要想检查 mysqld 进程是否已经开启,可以使用下面的命令:

pgrep mysqld

文件结构

MySQL配置文件:/etc/mysql/my.cnf ,其中指定了数据文件存放路径

datadir         = /var/lib/mysql

如果你创建了一个名为 test 的数据库,那么这个数据库的数据会存放到 /var/lib/mysql/test 目录下。

进入MySQL

mysql -u root -p 

(输入mysql的root密码)

qii@ubuntu:~$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.1.41-3ubuntu12.3 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

修改 MySQL 的管理员密码:

sudo mysqladmin -u root password newpassword;
 

简单的操作

显示数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)


设置远程访问

1.取消本地监听
正常情况下,mysql占用的3306端口只是在IP 127.0.0.1上监听,拒绝了其他IP的访问(通过netstat可以查看到)。取消本地监听需要修改 my.cnf 文件:

sudo vim /etc/mysql/my.cnf
//找到如下内容,并注释
bind-address = 127.0.0.1

然后需要重启 mysql (可最后再重启)。

2.授权法

mysql>GRANT ALL PRIVILEGES ON *.* TO <user>@"%" IDENTIFIED BY '<password>' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES

第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

 

 

三、部署MySQL JDBC:

 

1.MySQL JDBC驱动包下载地址:http://dev.mysql.com/downloads/connector/j/

 

   版本:mysql-connector-java-5.1.17.zip

 

2.下载后任意目录解压到/mysql-connector-java-5.1.17/mysql-connector-java-5.1.17-bin.jar;

 

    /mysql-connector-java-5.1.17/目录下还有docs和src文件夹,src文件夹里有lib目录;

 

3.前提:mysql和eclipse环境都安装好,参照前面blog关于Ubuntu安装j2ee环境和mysql的文章;

 

4.打开eclispe,进入菜单windows->prefrences,进入Java->Build Path->user libraries,选择新建,命名为mysql,路径为:/mysql-connector-java-5.1.17/mysql-connector-java-5.1.17-bin.jar;

 

5.创建java project,创建完毕后,右键该项目,选择Build Path->Add libraries,从列表中选择user library,在next界面中选择上面部署的mysql安装包即可;

 

6.开发,在工程下新建class,测试如下:

 

Ubuntu Linux上安装配置MysqlUbuntu Linux上安装配置Mysql
 1 package demo;
 2 import java.sql.*;
 3 
 4 public class Main {
 5         public static void main(String[] args) throws SQLException{
 6             String arch = System.getProperty("sun.arch.data.model");
 7             System.out.println(arch);
 8             try {
 9                 Class.forName("com.mysql.jdbc.Driver");
10                 Connection connect = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test","root","rootroot"); 
11                 System.out.println("Success connect Mysql server!");
12             } catch (ClassNotFoundException e) {
13                 // TODO Auto-generated catch block
14                 e.printStackTrace();
15             }
16         }
17 }
View Code