MySQL

We do not recommend using MySQL if you need UTF-8 character support due to the index constraints imposed by the database.

 

MySQL is a free, open source database, available for download at http://dev.mysql.com/ (more information can also be found at http://www.mysql.com) - also at this address, the JDBC driver for MySQL, Connector/J, can be downloaded. The Generally Available (GA) release is usually what is desired - it is best to use this instead of the Beta versions. For information on how to create a database in MySQL or create the tables, you will need to refer to the documentation that came with the version of MySQL you have decided to use. There are links to MySQL documentation as well on the above site.

Below are the steps required to integrate MySQL with uPortal

Step 1: MySQL Configuration Prerequisites

  • 1. Update maxThreads

     Go to uportal-war/src/main/resources/properties/portal.properties

      Look for the line:

                org.jasig.portal.io.threadPool.maxThreads=20

      Change it to:

                 org.jasig.portal.io.threadPool.maxThreads=1

  • 2. Configure the Table Type

      uPortal relies on database transactional support, which in MySQL is dependent upon the underlying storage engine (per-table).
     The default (MyISAM) is not transaction safe. The most common transactional table type on MySQL is InnoDB. Configure InnoDB as the default by adding the following line under the [mysqld] directive:

my.cnf
[mysqld]
default-storage-engine=innodb

     Alternatively you can change already-created MyISAM tables to Innodb tables with an ALTER TABLE statement - see the documentation for the exact syntax. Or, you can drop all your tables and re-create them with "TYPE=InnoDB" on your CREATE TABLE statements. If you're not sure about using TST (Transaction Safe Tables), do some reading on the MySQL site (http://www.mysql.com) about some of the companies and organizations that are currently using them - for instance, Slashdot.org uses MySQL InnoDB tables to handle their more than 100,000 hits per week.

  • 3. Case-Sensitivity

      MySQL table names are case-sensitive depending on the filesystem of the server. (e.g. insensitive in Windows & Mac HFS+, while case sensitive in Unix.)
      The SQL used in uPortal may not always be in the same case so the following line of code must be added to the my.cnf file:

my.cnf
[mysqld]
lower_case_table_names=1

 

Process for converting existing databases
mysqldump dev_up40 > dev_up40.sql
sed -i 's/latin1/utf8/g' dev_up40.sql
sed -i 's/ENGINE=InnoDB DEFAULT CHARSET=utf8;/ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED;/g' dev_up40.sql
mysql -e "drop database dev_up40"
mysql -e "create database dev_up40"
mysql dev_up40 < dev_up40.sql

 

 

 

If you have already created your database, and plan to change the lower_case_table_names system variable to 1 on Unix, you must first convert your old database and table names to lowercase before restarting mysqld with the new variable setting.

http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html

This case-sensitivity issue is important. If you forget this step, more than likely you will experience issues when you run the ant initportal command to build and deploy uPortal later in the next steps. You may run into some of the following error messages:
crn-import:
[java] ERROR Failed to import Structure from:  structure/DLM_Tabs_and_columns-1.structure due to exception: org.danann.cernunnos.ManagedException: The Cernunnos Runtime encountered an error:...
[java] Caused by: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar ...
[java] Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table '.......' doesn't exist

Indexing

PRIMARY, UNIQUE and INDEX are added to the tables during initialization.

MySQL Performance tuning

You may get much better performance by enabling the MySQL query cache.

You can also set all of the memory, table, and connection limits as well as a host of other options.

my.cnf
# Example settings used for uPortal at Manchester
max_connections = 1500
table_cache = 512
query_cache_size = 128M
set-variable = innodb_buffer_pool_size=128M
set-variable = innodb_log_file_size=256M
set-variable = innodb_additional_mem_pool_size=20M
set-variable = innodb_log_buffer_size=4M
innodb_flush_log_at_trx_commit=1

Step 2: Add the Dependency

The first step is to determine the correct information to use in the pom. Using a Maven Artifact Search Site and searching for "mysql" we find the following Maven dependency declaration here.

Approach 1: Add separate dependency to your chosen database (recommended)

Use this approach if you want to use HSQLDB for a local, developer database but have a different database in your shared dev/test/prod systems.

  1. Search all pom.xml files in the entire project for the string "${jdbc.groupId}" and ADD your chosen database dependency under the generic ${jdbc.groupId} dependency.
<dependency>
    <groupId>${jdbc.groupId}</groupId>
    <artifactId>${jdbc.artifactId}</artifactId>
    <version>${jdbc.version}</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.25</version>  <!-- better: define a property <mysql.version>5.1.25</mysql.version> in the main pom.xml and reference here as <version>${mysql.version}</version> -->
</dependency>

If your installation has any non-bundled portlets (portlets not in uportal-portlets-overlay folder) that do database operations, also add the dependency to those portlet's pom.xml files.

Approach 2: Modifying the jdbc.* property values

Use this approach if you are not using HSQLDB for your local, developer database.

1. From the uPortal source directory, open the /uPortal-4.x.x/pom.xml file and add the following dependency:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.25</version>
</dependency>

If your installation has any non-bundled portlets (portlets not in uportal-portlets-overlay folder) that do database operations, also add the dependency to those portlet's pom.xml files. 

2. Also, edit the jdbc settings in the pom.xml

<!-- The JDBC Driver used by uPortal -->
<jdbc.groupId>mysql</jdbc.groupId>
<jdbc.artifactId>mysql-connector-java</jdbc.artifactId>
<jdbc.version>5.1.25</jdbc.version>

Step 3: Configure the Database Filter     

     1. In the filters folder, locate the default local.properties file under uPortal-4.x.x/filters/local.properties and configure the Database Connection Settings

uPortal/filters/local.properties
# HSQL Configuration
environment.build.hsql.port=8887

# Database Connection Settings (Uncomment the Maven Filters section in rdbm.properties)
environment.build.hibernate.connection.driver_class=com.mysql.jdbc.Driver
environment.build.hibernate.connection.url=jdbc:mysql://my.school.edu/uPortal
environment.build.hibernate.connection.username=user
environment.build.hibernate.connection.password=password
environment.build.hibernate.dialect=org.hibernate.dialect.MySQLDialect
environment.build.hibernate.connection.validationQuery=select 1  

Deadlock troubleshooting

One thing that will most likely come up in working with uPortal and MySQL (or any database for that matter) is the issue of deadlocks - when a record is needed to be accessed by two different queries at the same time.

The MySQL site has an EXCELLENT chapter on dealing with these. Overall, the on-line reference guide for MySQL is an EXCELLENT resource.

Step 4: Test The Configuration

1. Start MySQL

/etc/init.d/mysql start

2. If this is a new database you must create the database.  Assuming your uPortal db is on myDbHost and db account is 'root':

mysql -h myDbHost -u root --password=uPortalDbPassword
mysql> create database uportal;
Query OK, 1 row affected (0.04 sec)
mysql> exit

2. Then in your portal development directory, issue the command:

ant clean dbtest

If it works correctly you should see something like

Buildfile: build.xml

dbtest:

install-parent-pom:
[artifact:install] [INFO] Installing /uportal/pom.xml to /root/.m2/repository/org/jasig/portal/uportal-parent/3.2.1/uportal-parent-3.2.1.pom
    [touch] Creating /tmp/jasig/uportal-parent.pom-851062517-marker
     [echo] Artifact '/uportal/uportal-impl/target/uportal-impl-3.2.1.jar' is not available or out-of-date, calling 'mvn install'
   [delete] Deleting: /uportal/uportal-impl/target/uportal-impl-3.2.1.jar

mvn:
[artifact:mvn] [INFO] Scanning for projects...
[artifact:mvn] [INFO] ------------------------------------------------------------------------
[artifact:mvn] [INFO] Building uPortal Source
[artifact:mvn] [INFO]    task-segment: [install]
[artifact:mvn] [INFO] ------------------------------------------------------------------------
[artifact:mvn] [INFO] [enforcer:enforce {execution: enforce-versions}]
[artifact:mvn] [INFO] [resources:resources {execution: default-resources}]
[artifact:mvn] [INFO] Using 'UTF-8' encoding to copy filtered resources.
[artifact:mvn] [INFO] Copying 393 resources
[artifact:mvn] [INFO] [compiler:compile {execution: default-compile}]
[artifact:mvn] [INFO] Nothing to compile - all classes are up to date
[artifact:mvn] [INFO] [resources:testResources {execution: default-testResources}]
[artifact:mvn] [INFO] Using 'UTF-8' encoding to copy filtered resources.
[artifact:mvn] [INFO] Copying 50 resources
[artifact:mvn] [INFO] [compiler:testCompile {execution: default-testCompile}]
[artifact:mvn] [INFO] Nothing to compile - all classes are up to date
[artifact:mvn] [INFO] [surefire:test {execution: default-test}]
[artifact:mvn] [INFO] Surefire report directory: /portal/uportal/uportal-impl/target/surefire-reports
[artifact:mvn]
[artifact:mvn] -------------------------------------------------------
[artifact:mvn]  T E S T S
[artifact:mvn] -------------------------------------------------------
[artifact:mvn] Running org.jasig.portal.channels.error.CThrowerTest
[artifact:mvn] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.114 sec
[artifact:mvn] Running org.jasig.portal.lang.ChainedThrowable_Test
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.697 sec
[artifact:mvn] Running org.jasig.portal.portlet.url.PortletUrlSyntaxProviderImplTest
[artifact:mvn] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.151 sec
[artifact:mvn] Running org.jasig.portal.layout.dlm.providers.ParenTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec
[artifact:mvn] Running org.jasig.portal.PortalExceptionTest
[artifact:mvn] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec
[artifact:mvn] Running org.jasig.portal.security.provider.RestrictedPersonTest
[artifact:mvn] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec
[artifact:mvn] Running org.jasig.portal.security.provider.BasicLocalConnectionContextTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.06 sec
[artifact:mvn] Running org.jasig.portal.utils.PooledCounterStoreTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.111 sec
[artifact:mvn] Running org.jasig.portal.layout.UserLayoutStoreFactoryTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec
[artifact:mvn] Running org.jasig.portal.url.support.ChannelRequestParameterManagerTest
[artifact:mvn] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec
[artifact:mvn] Running org.jasig.portal.channels.error.tt.ThrowableToElementTest
[artifact:mvn] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec
[artifact:mvn] Running org.jasig.portal.channels.support.TitledChannelRuntimePropertiesTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec
[artifact:mvn] Running org.jasig.portal.portlet.dao.jpa.JpaPortletDaoTest
[artifact:mvn] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.784 sec
[artifact:mvn] Running org.jasig.portal.events.handlers.db.JpaPortalEventStoreTest
[artifact:mvn] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.176 sec
[artifact:mvn] Running org.jasig.portal.security.provider.cas.CasSecurityContextMockTest
[artifact:mvn] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.04 sec
[artifact:mvn] Running org.jasig.portal.services.stats.ConditionalStatsRecorderTest
[artifact:mvn] Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.045 sec
[artifact:mvn] Running org.jasig.portal.services.HttpClientManagerTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.883 sec
[artifact:mvn] Running org.jasig.portal.UPFileSpecTest
[artifact:mvn] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
[artifact:mvn] Running org.jasig.portal.channels.error.tt.ResourceMissingExceptionToElementTest
[artifact:mvn] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec
[artifact:mvn] Running org.jasig.portal.security.provider.cas.CasConnectionContextTest
[artifact:mvn] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.145 sec
[artifact:mvn] Running org.jasig.portal.utils.uri.PrefixUriScrutinizerTest
[artifact:mvn] Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.055 sec
[artifact:mvn] Running org.jasig.portal.lang.Resources_Test
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 sec
[artifact:mvn] Running org.jasig.portal.web.skin.ResourcesDaoImplTest
[artifact:mvn] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.518 sec
[artifact:mvn] Running org.jasig.portal.portlet.container.properties.CacheRequestPropertiesManagerTest
[artifact:mvn] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.042 sec
[artifact:mvn] Running org.jasig.portal.portlet.url.PortletRequestParameterManagerTest
[artifact:mvn] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.025 sec
[artifact:mvn] Running org.jasig.portal.rdbm.TransientDatasourceTest
[artifact:mvn] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.058 sec
[artifact:mvn] Running org.jasig.portal.groups.PersonDirNameFinderTest
[artifact:mvn] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.02 sec
[artifact:mvn] Running org.jasig.portal.channels.cusermanager.ChannelRuntimeDataToPersonConverterTest
[artifact:mvn] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec
[artifact:mvn] Running org.jasig.portal.lang.TypeConverter_Test
[artifact:mvn] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec
[artifact:mvn] Running org.jasig.portal.lang.StackTrace_Test
[artifact:mvn] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.058 sec
[artifact:mvn] Running org.jasig.portal.utils.uri.BlockedUriExceptionTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec
[artifact:mvn] Running org.jasig.portal.tools.checks.ClassPresenceCheckTest
[artifact:mvn] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 sec
[artifact:mvn] Running org.jasig.portal.ExceptionHelperTest
[artifact:mvn] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
[artifact:mvn] Running org.jasig.portal.spring.LazyPortalApplicationContextTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.816 sec
[artifact:mvn] Running org.jasig.portal.portlet.container.properties.HttpRequestPropertiesManagerTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.022 sec
[artifact:mvn] Running org.jasig.portal.channels.CAbstractXsltTest
[artifact:mvn] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.678 sec
[artifact:mvn] Running org.jasig.portal.portlet.registry.TransientPortletWindowRegistryImplTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 sec
[artifact:mvn] Running org.jasig.portal.channels.error.ErrorDocumentTest
[artifact:mvn] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.069 sec
[artifact:mvn] Running org.jasig.portal.channels.error.tt.InternalTimeoutExceptionToElementTest
[artifact:mvn] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec
[artifact:mvn] Running org.jasig.portal.channel.dao.jpa.ChannelDefinitionTest
[artifact:mvn] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.201 sec
[artifact:mvn] Running org.jasig.portal.channels.error.tt.AuthorizationExceptionToElementTest
[artifact:mvn] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec
[artifact:mvn] Running org.jasig.portal.io.SafeFileNamePhraseTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec
[artifact:mvn] Running org.jasig.portal.channels.CSecureInfoTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec
[artifact:mvn] Running org.jasig.portal.channels.error.CErrorTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.054 sec
[artifact:mvn] Running org.jasig.portal.layout.node.UserLayoutChannelDescriptionTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
[artifact:mvn] Running org.jasig.portal.channels.portlet.SpringPortletChannelImplTest
[artifact:mvn] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.137 sec
[artifact:mvn] Running org.jasig.portal.groups.pags.PAGSTest
[artifact:mvn] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.129 sec
[artifact:mvn] Running org.jasig.portal.concurrency.locking.EntityLockTest
[artifact:mvn] Caught Exception: Could not create lock: entity already locked.
[artifact:mvn] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.083 sec
[artifact:mvn] Running org.jasig.portal.channels.portlet.CSpringPortletAdaptorTest
[artifact:mvn] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec
[artifact:mvn] Running org.jasig.portal.layout.dlm.JpaFragmentDefinitionDaoTest
[artifact:mvn] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.07 sec
[artifact:mvn] Running org.jasig.portal.layout.LayoutStructureTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.045 sec
[artifact:mvn] Running org.jasig.portal.io.ImportTest
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.69 sec
[artifact:mvn] Running org.jasig.portal.groups.filesystem.FileSystemGroupsTest
[artifact:mvn] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.597 sec
[artifact:mvn] Running org.jasig.portal.portlet.container.properties.RequestPropertiesManagerBrokerTest
[artifact:mvn] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 sec
[artifact:mvn] Running org.jasig.portal.url.PortalUrlProviderImplTest
[artifact:mvn] Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.266 sec
[artifact:mvn] Running org.jasig.portal.lang.ThrowableHelper_Test
[artifact:mvn] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec
[artifact:mvn] Running org.jasig.portal.utils.RequiresJDK15Test
[artifact:mvn] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
[artifact:mvn] Running org.jasig.portal.properties.PropertiesManagerTest
[artifact:mvn] Tests run: 49, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.078 sec
[artifact:mvn]
[artifact:mvn] Results :
[artifact:mvn]
[artifact:mvn] Tests run: 317, Failures: 0, Errors: 0, Skipped: 0
[artifact:mvn]
[artifact:mvn] [INFO] [jar:jar {execution: default-jar}]
[artifact:mvn] [INFO] Building jar: /uportal/uportal-impl/target/uportal-impl-3.2.1.jar
[artifact:mvn] [INFO] Preparing source:jar
[artifact:mvn] [WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
[artifact:mvn] [INFO] [enforcer:enforce {execution: enforce-versions}]
[artifact:mvn] [INFO] [source:jar {execution: attach-sources}]
[artifact:mvn] [INFO] Building jar: /uportal/uportal-impl/target/uportal-impl-3.2.1-sources.jar
[artifact:mvn] [INFO] [install:install {execution: default-install}]
[artifact:mvn] [INFO] Installing /uportal/uportal-impl/target/uportal-impl-3.2.1.jar to /root/.m2/repository/org/jasig/portal/uportal-impl/...
[artifact:mvn] [INFO] Installing /uportal/uportal-impl/target/uportal-impl-3.2.1-sources.jar to /root/.m2/repository/org/jasig/portal/...
[artifact:mvn] [INFO] ------------------------------------------------------------------------
[artifact:mvn] [INFO] BUILD SUCCESSFUL
[artifact:mvn] [INFO] ------------------------------------------------------------------------
[artifact:mvn] [INFO] Total time: 33 seconds
[artifact:mvn] [INFO] Finished at: Thu Jul 22 10:00:15 CDT 2010
[artifact:mvn] [INFO] Final Memory: 36M/87M
[artifact:mvn] [INFO] ------------------------------------------------------------------------
     [echo] Invoking DbTest
     [java]  INFO Looking up bean 'PortalDb' in ApplicationContext due to context not yet being initialized
     [java]  INFO Creating new lazily initialized GenericApplicationContext for the portal
     [java]  INFO Created new MemoryContext with environment '{java.naming.factory.url.pkgs=tyrex.naming, java.naming.provider.url=,
java.naming.factory.initial=org.jasig.portal.jndi.DisposableMemoryContextFactory}'
     [java]  INFO Initialized portal JNDI context
     [java]  INFO Setting CacheProvider 'org.jasig.portal.utils.cache.hibernate.EhCacheProvider@13ca5df9' on ThreadLocal
     [java]  INFO Created new lazily initialized GenericApplicationContext for the portal in 8199ms
     [java]  INFO Looking up bean 'PortalDB.metadata' in ApplicationContext due to context not yet being initialized
     [java]  WARN The uPortal database is not initialized, the database tests will not be performed.
     [java]  INFO MySQL (5.0.26) / MySQL-AB JDBC Driver (mysql-connector-java-5.1.13 ( Revision: ${bzr.revision-id} )) database/driver
     [java]     Connected To: jdbc:mysql://newsql.southwestern.edu/uportal32
     [java]     WARNING: uPortal tables do no exist, not all meta-data tests were executed.
     [java]
     [java] Database name:    'MySQL'
     [java] Database version: '5.0.26'
     [java] Driver name:      'MySQL-AB JDBC Driver'
     [java] Driver version:   'mysql-connector-java-5.1.6 ( Revision: ${bzr.revision-id} )'
     [java] Driver class:     'MySQL-AB JDBC Driver'
     [java] Connection URL:   'jdbc:mysql://your.mysql.server/databasename'
     [java] User:             'user@yourservername'
     [java]
     [java] supportsANSI92EntryLevelSQL: true
     [java] supportsANSI92FullSQL:       false
     [java] supportsCoreSQLGrammar:     true
     [java] supportsExtendedSQLGrammar: false
     [java]
     [java] supportsTransactions:         true
     [java] supportsMultipleTransactions: true
     [java] supportsOpenCursorsAcrossCommit:      false
     [java] supportsOpenCursorsAcrossRollback:    false
     [java] supportsOpenStatementsAcrossCommit:   false
     [java] supportsOpenStatementsAcrossRollback: false
     [java]
     [java] supportsStoredProcedures:     true
     [java] supportsOuterJoins:           true
     [java] supportsFullOuterJoins:       false
     [java] supportsLimitedOuterJoins:    true
     [java] supportsBatchUpdates:         true
     [java] supportsColumnAliasing:       true
     [java] supportsExpressionsInOrderBy: true
     [java] supportsOrderByUnrelated:     false
     [java] supportsPositionedDelete:     false
     [java] supportsSelectForUpdate:      true
     [java] supportsUnion:                true
     [java] supportsUnionAll:             true
     [java]
     [java] getMaxColumnNameLength: 64
     [java] getMaxColumnsInIndex:   16
     [java] getMaxColumnsInOrderBy: 64
     [java] getMaxColumnsInSelect:  256
     [java] getMaxColumnsInTable:   512
     [java] getMaxConnections:      0
     [java] getMaxCursorNameLength: 64
     [java] getMaxIndexLength:      256
     [java] getMaxRowSize:          2147483639
     [java] getMaxStatements:       0
     [java] getMaxTableNameLength:  64
     [java] getMaxTablesInSelect:   256
     [java] getMaxUserNameLength:   16
     [java] getSearchStringEscape:  \
     [java] getStringFunctions:     ASCII,BIN,BIT_LENGTH,CHAR,CHARACTER_LENGTH,CHAR_LENGTH,CONCAT,CONCAT_WS,CONV,....
     [java] getSystemFunctions:     DATABASE,USER,SYSTEM_USER,SESSION_USER,PASSWORD,ENCRYPT,LAST_INSERT_ID,VERSION
     [java] getTimeDateFunctions:   DAYOFWEEK,WEEKDAY,DAYOFMONTH,DAYOFYEAR,MONTH,DAYNAME,MONTHNAME,QUARTER,WEEK,YEAR,...
     [java] Table Types: TABLE,VIEW,LOCAL TEMPORARY
     [java] SQL Types:   BIT,BOOL,TINYINT,TINYINT UNSIGNED,BIGINT,BIGINT UNSIGNED,LONG VARBINARY,MEDIUMBLOB,LONGBLOB,...
BUILD SUCCESSFUL
Total time: 50 seconds

Verify the values on the Database name, Database version, Driver name, Driver version match those entered in local.properties exactly.

Step 5: Build and Deploy 

Following a successful test, you can execute the command below to build the database tables and copy files to your servlet container. 

Note: Executing the command "ant clean initportal" will drop and recreate the database tables and all existing data will be lost. This will result in a clean uPortal database structure. If you want to keep the contents of your existing database, use "ant clean deploy-war"

ant clean initportal

Step 6: Restart Tomcat

 


Having problems with these instructions?

Please send us feedback at uportal-user@lists.ja-sig.org

Add Feedback content box here.....